From: Simon Glass Date: Mon, 13 Nov 2017 04:52:21 +0000 (-0700) Subject: binman: Add tests for importlib availability X-Git-Tag: v2018.01-rc1~69^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=934cdcfb1b1cac6a6c987f3f91e341c713770224;p=platform%2Fkernel%2Fu-boot.git 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 --- diff --git a/tools/binman/binman.py b/tools/binman/binman.py index 963d43a..cf83edf 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 85c4196..789b26f 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