diff options
author | Simon Glass <sjg@chromium.org> | 2019-07-08 13:18:49 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2019-07-23 20:27:58 -0700 |
commit | d5164a79703df76254d8c0ac67037d629d113518 (patch) | |
tree | a5b270b57973b6aa70d15b05659cb1922dbe2ab7 /tools/binman/ftest.py | |
parent | ee0c9a739f219c80b8a1f1abc217338c8c2087cc (diff) | |
download | u-boot-d5164a79703df76254d8c0ac67037d629d113518.tar.gz |
binman: Allow preserving test directories
Sometimes when debugging tests it is useful to keep the input and output
directories so they can be examined later. Add an option for this and
update the binman tests to support it. This affects both the test class
and the tearDown() function called after each test.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/binman/ftest.py')
-rw-r--r-- | tools/binman/ftest.py | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index f5e0b9b974..256d4a1c5d 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -6,6 +6,8 @@ # # python -m unittest func_test.TestFunctional.testHelp +from __future__ import print_function + import hashlib from optparse import OptionParser import os @@ -134,10 +136,27 @@ class TestFunctional(unittest.TestCase): @classmethod def tearDownClass(self): """Remove the temporary input directory and its contents""" - if self._indir: - shutil.rmtree(self._indir) + if self.preserve_indir: + print('Preserving input dir: %s' % self._indir) + else: + if self._indir: + shutil.rmtree(self._indir) self._indir = None + @classmethod + def setup_test_args(cls, preserve_indir=False, preserve_outdirs=False): + """Accept arguments controlling test execution + + Args: + preserve_indir: Preserve the shared input directory used by all + tests in this class. + preserve_outdir: Preserve the output directories used by tests. Each + test has its own, so this is normally only useful when running a + single test. + """ + cls.preserve_indir = preserve_indir + cls.preserve_outdirs = preserve_outdirs + def setUp(self): # Enable this to turn on debugging output # tout.Init(tout.DEBUG) @@ -145,7 +164,10 @@ class TestFunctional(unittest.TestCase): def tearDown(self): """Remove the temporary output directory""" - tools._FinaliseForTest() + if self.preserve_outdirs: + print('Preserving output dir: %s' % tools.outdir) + else: + tools._FinaliseForTest() @classmethod def _ResetDtbs(self): |