diff options
author | Simon Glass <sjg@chromium.org> | 2017-11-13 07:52:21 +0300 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2017-11-23 04:05:38 +0300 |
commit | 934cdcfb1b1cac6a6c987f3f91e341c713770224 (patch) | |
tree | e289915f85d46fa0a6e870091abd5a1ed832ecea | |
parent | 4d5994f91c5c781fb0c8b32b58abfc4d9d2ec878 (diff) | |
download | u-boot-934cdcfb1b1cac6a6c987f3f91e341c713770224.tar.xz |
binman: Add tests for importlib availability
Add a test that the 'entry' module works with or without importlib.
The tests are numbered so that they are executed in the correct order.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rwxr-xr-x | tools/binman/binman.py | 8 | ||||
-rw-r--r-- | tools/binman/entry_test.py | 30 |
2 files changed, 36 insertions, 2 deletions
diff --git a/tools/binman/binman.py b/tools/binman/binman.py index 963d43a376..cf83edfd04 100755 --- a/tools/binman/binman.py +++ b/tools/binman/binman.py @@ -44,8 +44,12 @@ def RunTests(): suite.run(result) sys.argv = [sys.argv[0]] - for module in (ftest.TestFunctional, fdt_test.TestFdt, - entry_test.TestEntry): + + # Run the entry tests first ,since these need to be the first to import the + # 'entry' module. + suite = unittest.TestLoader().loadTestsFromTestCase(entry_test.TestEntry) + suite.run(result) + for module in (ftest.TestFunctional, fdt_test.TestFdt): suite = unittest.TestLoader().loadTestsFromTestCase(module) suite.run(result) diff --git a/tools/binman/entry_test.py b/tools/binman/entry_test.py index 85c4196892..789b26fd9f 100644 --- a/tools/binman/entry_test.py +++ b/tools/binman/entry_test.py @@ -7,9 +7,39 @@ # Test for the Entry class import collections +import os +import sys import unittest +import fdt +import fdt_util +import tools + class TestEntry(unittest.TestCase): + def GetNode(self): + binman_dir = os.path.dirname(os.path.realpath(sys.argv[0])) + tools.PrepareOutputDir(None) + fname = fdt_util.EnsureCompiled( + os.path.join(binman_dir,('test/05_simple.dts'))) + dtb = fdt.FdtScan(fname) + return dtb.GetNode('/binman/u-boot') + + def test1EntryNoImportLib(self): + """Test that we can import Entry subclassess successfully""" + + sys.modules['importlib'] = None + global entry + import entry + entry.Entry.Create(None, self.GetNode(), 'u-boot') + + def test2EntryImportLib(self): + del sys.modules['importlib'] + global entry + reload(entry) + entry.Entry.Create(None, self.GetNode(), 'u-boot-spl') + tools._RemoveOutputDir() + del entry + def testEntryContents(self): """Test the Entry bass class""" import entry |