summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/binman/elf_test.py19
-rw-r--r--tools/binman/ftest.py14
-rw-r--r--tools/binman/test/Makefile2
-rwxr-xr-xtools/binman/test/u_boot_ucode_ptrbin4175 -> 0 bytes
-rw-r--r--tools/binman/test/u_boot_ucode_ptr.lds3
-rw-r--r--tools/patman/tools.py2
6 files changed, 26 insertions, 14 deletions
diff --git a/tools/binman/elf_test.py b/tools/binman/elf_test.py
index 736b931fd5..403ca2b412 100644
--- a/tools/binman/elf_test.py
+++ b/tools/binman/elf_test.py
@@ -75,18 +75,29 @@ def BuildElfTestFiles(target_dir):
class TestElf(unittest.TestCase):
@classmethod
- def setUpClass(self):
+ def setUpClass(cls):
+ cls._indir = tempfile.mkdtemp(prefix='elf.')
tools.SetInputDirs(['.'])
+ BuildElfTestFiles(cls._indir)
+
+ @classmethod
+ def tearDownClass(cls):
+ if cls._indir:
+ shutil.rmtree(cls._indir)
+
+ @classmethod
+ def ElfTestFile(cls, fname):
+ return os.path.join(cls._indir, fname)
def testAllSymbols(self):
"""Test that we can obtain a symbol from the ELF file"""
- fname = os.path.join(binman_dir, 'test', 'u_boot_ucode_ptr')
+ fname = self.ElfTestFile('u_boot_ucode_ptr')
syms = elf.GetSymbols(fname, [])
self.assertIn('.ucode', syms)
def testRegexSymbols(self):
"""Test that we can obtain from the ELF file by regular expression"""
- fname = os.path.join(binman_dir, 'test', 'u_boot_ucode_ptr')
+ fname = self.ElfTestFile('u_boot_ucode_ptr')
syms = elf.GetSymbols(fname, ['ucode'])
self.assertIn('.ucode', syms)
syms = elf.GetSymbols(fname, ['missing'])
@@ -201,7 +212,7 @@ class TestElf(unittest.TestCase):
self.assertEqual(elf.ElfInfo(b'\0\0' + expected[2:],
load, entry, len(expected)),
elf.DecodeElf(data, load + 2))
- #shutil.rmtree(outdir)
+ shutil.rmtree(outdir)
if __name__ == '__main__':
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index fad62bb04f..e7ade0fddf 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -152,8 +152,8 @@ class TestFunctional(unittest.TestCase):
elf_test.BuildElfTestFiles(cls._elf_testdir)
# ELF file with a '_dt_ucode_base_size' symbol
- with open(cls.TestFile('u_boot_ucode_ptr'), 'rb') as fd:
- TestFunctional._MakeInputFile('u-boot', fd.read())
+ TestFunctional._MakeInputFile('u-boot',
+ tools.ReadFile(cls.ElfTestFile('u_boot_ucode_ptr')))
# Intel flash descriptor file
with open(cls.TestFile('descriptor.bin'), 'rb') as fd:
@@ -489,7 +489,7 @@ class TestFunctional(unittest.TestCase):
Filename of ELF file to use as SPL
"""
# TODO(sjg@chromium.org): Drop this when all Elf files use ElfTestFile()
- if src_fname in ['bss_data']:
+ if src_fname in ['bss_data', 'u_boot_ucode_ptr']:
fname = cls.ElfTestFile(src_fname)
else:
fname = cls.TestFile(src_fname)
@@ -1101,8 +1101,8 @@ class TestFunctional(unittest.TestCase):
finally:
# Put the original file back
- with open(self.TestFile('u_boot_ucode_ptr'), 'rb') as fd:
- TestFunctional._MakeInputFile('u-boot', fd.read())
+ TestFunctional._MakeInputFile('u-boot',
+ tools.ReadFile(self.ElfTestFile('u_boot_ucode_ptr')))
def testMicrocodeNotInImage(self):
"""Test that microcode must be placed within the image"""
@@ -1818,8 +1818,8 @@ class TestFunctional(unittest.TestCase):
u-boot-tpl.dtb with the microcode removed
the microcode
"""
- with open(self.TestFile('u_boot_ucode_ptr'), 'rb') as fd:
- TestFunctional._MakeInputFile('tpl/u-boot-tpl', fd.read())
+ TestFunctional._MakeInputFile('tpl/u-boot-tpl',
+ tools.ReadFile(self.ElfTestFile('u_boot_ucode_ptr')))
first, pos_and_size = self._RunMicrocodeTest('093_x86_tpl_ucode.dts',
U_BOOT_TPL_NODTB_DATA)
self.assertEqual(b'tplnodtb with microc' + pos_and_size +
diff --git a/tools/binman/test/Makefile b/tools/binman/test/Makefile
index ce1c2f900c..fd660eac6e 100644
--- a/tools/binman/test/Makefile
+++ b/tools/binman/test/Makefile
@@ -10,7 +10,7 @@
VPATH := $(SRC)
CFLAGS := -march=i386 -m32 -nostdlib -I ../../../include
-LDS_UCODE := -T u_boot_ucode_ptr.lds
+LDS_UCODE := -T $(SRC)u_boot_ucode_ptr.lds
LDS_BINMAN := -T u_boot_binman_syms.lds
LDS_BINMAN_BAD := -T u_boot_binman_syms_bad.lds
diff --git a/tools/binman/test/u_boot_ucode_ptr b/tools/binman/test/u_boot_ucode_ptr
deleted file mode 100755
index dbfb184cec..0000000000
--- a/tools/binman/test/u_boot_ucode_ptr
+++ /dev/null
Binary files differ
diff --git a/tools/binman/test/u_boot_ucode_ptr.lds b/tools/binman/test/u_boot_ucode_ptr.lds
index 0cf9b762b5..cf4d1b8bbd 100644
--- a/tools/binman/test/u_boot_ucode_ptr.lds
+++ b/tools/binman/test/u_boot_ucode_ptr.lds
@@ -9,9 +9,10 @@ ENTRY(_start)
SECTIONS
{
- . = 0xfffffdf0;
+ . = 0xfffffe14;
_start = .;
.ucode : {
*(.ucode)
}
+ .interp : { *(.interp*) }
}
diff --git a/tools/patman/tools.py b/tools/patman/tools.py
index 0952681579..4a7fcdad21 100644
--- a/tools/patman/tools.py
+++ b/tools/patman/tools.py
@@ -125,7 +125,7 @@ def GetInputFilename(fname):
Returns:
The full path of the filename, within the input directory
"""
- if not indir:
+ if not indir or fname[:1] == '/':
return fname
for dirname in indir:
pathname = os.path.join(dirname, fname)