aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-12-28 20:34:59 -0700
committerSimon Glass <sjg@chromium.org>2021-01-05 12:26:35 -0700
commit5d9a3aa99cc7a1ed6502a98152bd0e13b4e05539 (patch)
tree18c2c49c3e242da1666e50eb64d37e8c1fc083e8
parentfe2400895ba0957b332926784daf21143f0f4835 (diff)
downloadu-boot-5d9a3aa99cc7a1ed6502a98152bd0e13b4e05539.zip
u-boot-5d9a3aa99cc7a1ed6502a98152bd0e13b4e05539.tar.gz
u-boot-5d9a3aa99cc7a1ed6502a98152bd0e13b4e05539.tar.bz2
dtoc: Run tests using test_util
Use the standard function for running tests and reported results. This allows the tests to run in parallel, which is a significant speed-up on most machines (e.g. 4.5 seconds -> 1.5s on mine). Signed-off-by: Simon Glass <sjg@chromium.org>
-rwxr-xr-xtools/dtoc/main.py31
1 files changed, 10 insertions, 21 deletions
diff --git a/tools/dtoc/main.py b/tools/dtoc/main.py
index f82ee78..9d0b391 100755
--- a/tools/dtoc/main.py
+++ b/tools/dtoc/main.py
@@ -38,10 +38,11 @@ sys.path.insert(0, os.path.join(our_path,
from dtoc import dtb_platdata
from patman import test_util
-def run_tests(args):
+def run_tests(processes, args):
"""Run all the test we have for dtoc
Args:
+ processes: Number of processes to use to run tests (None=same as #CPUs)
args: List of positional args provided to dtoc. This can hold a test
name to execute (as in 'dtoc -t test_empty_file', for example)
"""
@@ -50,25 +51,13 @@ def run_tests(args):
result = unittest.TestResult()
sys.argv = [sys.argv[0]]
test_name = args and args[0] or None
- for module in (test_dtoc.TestDtoc,):
- if test_name:
- try:
- suite = unittest.TestLoader().loadTestsFromName(test_name, module)
- except AttributeError:
- continue
- else:
- suite = unittest.TestLoader().loadTestsFromTestCase(module)
- suite.run(result)
-
- print(result)
- for _, err in result.errors:
- print(err)
- for _, err in result.failures:
- print(err)
- if result.errors or result.failures:
- print('dtoc tests FAILED')
- return 1
- return 0
+
+ test_util.RunTestSuites(
+ result, debug=True, verbosity=1, test_preserve_dirs=False,
+ processes=processes, test_name=test_name, toolpath=[],
+ test_class_list=[test_dtoc.TestDtoc,])
+
+ return test_util.ReportResult('binman', test_name, result)
def RunTestCoverage():
"""Run the tests and check that we get 100% coverage"""
@@ -103,7 +92,7 @@ parser.add_option('-T', '--test-coverage', action='store_true',
# Run our meagre tests
if options.test:
- ret_code = run_tests(args)
+ ret_code = run_tests(options.processes, args)
sys.exit(ret_code)
elif options.test_coverage: