summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2018-09-14 04:57:23 -0600
committerSimon Glass <sjg@chromium.org>2018-09-28 11:09:01 -0600
commit93d174135ac44cbbe81c87ea564488309949e6d4 (patch)
treefad1afcd03a46ccc13c9dd5e49a52b0f52a2fb4f
parent539aece516d87084437a38d879a1b91c661209f8 (diff)
downloadu-boot-93d174135ac44cbbe81c87ea564488309949e6d4.tar.gz
binman: Allow control of whether a fake DT is used
We use a fake device tree in tests most of the time since tests don't normally care about the actual data. For example, for U-Boot proper we use U_BOOT_DTB_DATA which is just a four-character string. This makes testing the image output against an expected value very easy. However in some cases, such as when the test wants to check that the DT output containing particular nodes, we do actually need the real DT. Add support for this, along with a command-line option to select 'test mode'. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--tools/binman/cmdline.py2
-rw-r--r--tools/binman/control.py1
-rw-r--r--tools/binman/ftest.py4
-rw-r--r--tools/binman/state.py2
4 files changed, 7 insertions, 2 deletions
diff --git a/tools/binman/cmdline.py b/tools/binman/cmdline.py
index 4ce8bc6ab4..f8caa7d284 100644
--- a/tools/binman/cmdline.py
+++ b/tools/binman/cmdline.py
@@ -30,6 +30,8 @@ def ParseArgs(argv):
help='Enabling debugging (provides a full traceback on error)')
parser.add_option('-E', '--entry-docs', action='store_true',
help='Write out entry documentation (see README.entries)')
+ parser.add_option('--fake-dtb', action='store_true',
+ help='Use fake device tree contents (for testing only)')
parser.add_option('-i', '--image', type='string', action='append',
help='Image filename to build (if not specified, build all)')
parser.add_option('-I', '--indir', action='append',
diff --git a/tools/binman/control.py b/tools/binman/control.py
index 49d49a001c..34ec74ba1b 100644
--- a/tools/binman/control.py
+++ b/tools/binman/control.py
@@ -106,6 +106,7 @@ def Binman(options, args):
tout.Init(options.verbosity)
elf.debug = options.debug
+ state.use_fake_dtb = options.fake_dtb
try:
tools.SetInputDirs(options.indir)
tools.PrepareOutputDir(options.outdir, options.preserve)
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index 867179702d..75e9a2143c 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -172,7 +172,7 @@ class TestFunctional(unittest.TestCase):
return control.Binman(options, args)
def _DoTestFile(self, fname, debug=False, map=False, update_dtb=False,
- entry_args=None, images=None):
+ entry_args=None, images=None, use_real_dtb=False):
"""Run binman with a given test file
Args:
@@ -193,6 +193,8 @@ class TestFunctional(unittest.TestCase):
args.append('-m')
if update_dtb:
args.append('-up')
+ if not use_real_dtb:
+ args.append('--fake-dtb')
if entry_args:
for arg, value in entry_args.iteritems():
args.append('-a%s=%s' % (arg, value))
diff --git a/tools/binman/state.py b/tools/binman/state.py
index 600eb86cfe..b27eb077a6 100644
--- a/tools/binman/state.py
+++ b/tools/binman/state.py
@@ -20,7 +20,7 @@ entry_args = {}
# True to use fake device-tree files for testing (see U_BOOT_DTB_DATA in
# ftest.py)
-use_fake_dtb = True
+use_fake_dtb = False
# Set of all device tree files references by images
fdt_set = Set()