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>
master
Simon Glass 7 years ago
parent 4d5994f91c
commit 934cdcfb1b
  1. 8
      tools/binman/binman.py
  2. 30
      tools/binman/entry_test.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)

@ -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

Loading…
Cancel
Save