binman: Don't change the descriptor in tests

At present testPackX86RomMeNoDesc removes the contents of the
descriptor.bin file and testPackX86RomMeMissingDesc removes the file
completely.

If a test that relies on this file happens to run after it is removed, it
will not work. Since we have no control over the selecting of tests that
run in parallel and series, we must avoid changing the files.

Update this tests to use separate files instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2020-07-25 15:11:19 -06:00
parent 2548493ab4
commit 52b10dd7de
3 changed files with 47 additions and 5 deletions

View File

@ -940,9 +940,9 @@ class TestFunctional(unittest.TestCase):
def testPackX86RomMeNoDesc(self):
"""Test that an invalid Intel descriptor entry is detected"""
try:
TestFunctional._MakeInputFile('descriptor.bin', b'')
TestFunctional._MakeInputFile('descriptor-empty.bin', b'')
with self.assertRaises(ValueError) as e:
self._DoTestFile('031_x86_rom_me.dts')
self._DoTestFile('163_x86_rom_me_empty.dts')
self.assertIn("Node '/binman/intel-descriptor': Cannot find Intel Flash Descriptor (FD) signature",
str(e.exception))
finally:
@ -3405,10 +3405,8 @@ class TestFunctional(unittest.TestCase):
def testPackX86RomMeMissingDesc(self):
"""Test that an missing Intel descriptor entry is allowed"""
pathname = os.path.join(self._indir, 'descriptor.bin')
os.remove(pathname)
with test_util.capture_sys_output() as (stdout, stderr):
self._DoTestFile('031_x86_rom_me.dts', allow_missing=True)
self._DoTestFile('164_x86_rom_me_missing.dts', allow_missing=True)
err = stderr.getvalue()
self.assertRegex(err,
"Image 'main-section'.*missing.*: intel-descriptor")

View File

@ -0,0 +1,22 @@
// SPDX-License-Identifier: GPL-2.0+
/dts-v1/;
/ {
#address-cells = <1>;
#size-cells = <1>;
binman {
sort-by-offset;
end-at-4gb;
size = <0x800000>;
intel-descriptor {
filename = "descriptor-empty.bin";
};
intel-me {
filename = "me.bin";
offset-unset;
};
};
};

View File

@ -0,0 +1,22 @@
// SPDX-License-Identifier: GPL-2.0+
/dts-v1/;
/ {
#address-cells = <1>;
#size-cells = <1>;
binman {
sort-by-offset;
end-at-4gb;
size = <0x800000>;
intel-descriptor {
filename = "descriptor-missing.bin";
};
intel-me {
filename = "me.bin";
offset-unset;
};
};
};