binman: Set up 'entry' to permit full test coverage
authorSimon Glass <sjg@chromium.org>
Mon, 13 Nov 2017 04:52:20 +0000 (21:52 -0700)
committerSimon Glass <sjg@chromium.org>
Thu, 23 Nov 2017 01:05:38 +0000 (18:05 -0700)
There is a little check at the top of entry.py which decides if importlib
is available. At present this has no test coverage. To add this we will
need to import the module twice, once with importlib and once without.
In preparation for allowing a test to control the importing of this
module, remove all global imports of the 'entry' module.

Signed-off-by: Simon Glass <sjg@chromium.org>
tools/binman/entry_test.py
tools/binman/ftest.py
tools/binman/image.py

index 8a9ae017f03e9a0fefb1d4273d2d86b6e18c7a14..85c4196892fc948b236210c45f0321d048b40043 100644 (file)
@@ -9,16 +9,16 @@
 import collections
 import unittest
 
-import entry
-
 class TestEntry(unittest.TestCase):
     def testEntryContents(self):
         """Test the Entry bass class"""
+        import entry
         base_entry = entry.Entry(None, None, None, read_node=False)
         self.assertEqual(True, base_entry.ObtainContents())
 
     def testUnknownEntry(self):
         """Test that unknown entry types are detected"""
+        import entry
         Node = collections.namedtuple('Node', ['name', 'path'])
         node = Node('invalid-name', 'invalid-path')
         with self.assertRaises(ValueError) as e:
index c4207ce5d299fbdc3f6297a29089da3214da75ba..eae1ab1c4b1edc6ba034c2c8a908ebb9cf037aee 100644 (file)
@@ -20,7 +20,6 @@ import binman
 import cmdline
 import command
 import control
-import entry
 import fdt
 import fdt_util
 import tools
@@ -56,6 +55,9 @@ class TestFunctional(unittest.TestCase):
     """
     @classmethod
     def setUpClass(self):
+        global entry
+        import entry
+
         # Handle the case where argv[0] is 'python'
         self._binman_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
         self._binman_pathname = os.path.join(self._binman_dir, 'binman')
index 07fc9306659eb1be21a55931724098742179e036..24c4f6f578a6a61ee59041f6bae86b834c1662ad 100644 (file)
@@ -9,8 +9,6 @@
 from collections import OrderedDict
 from operator import attrgetter
 
-import entry
-from entry import Entry
 import fdt_util
 import tools
 
@@ -48,6 +46,11 @@ class Image:
         _entries: OrderedDict() of entries
     """
     def __init__(self, name, node):
+        global entry
+        global Entry
+        import entry
+        from entry import Entry
+
         self._node = node
         self._name = name
         self._size = None