diff options
author | Simon Glass | 2020-12-28 20:34:59 -0700 |
---|---|---|
committer | Simon Glass | 2021-01-05 12:26:35 -0700 |
commit | 5d9a3aa99cc7a1ed6502a98152bd0e13b4e05539 (patch) | |
tree | 18c2c49c3e242da1666e50eb64d37e8c1fc083e8 /tools | |
parent | fe2400895ba0957b332926784daf21143f0f4835 (diff) |
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>
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/dtoc/main.py | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/tools/dtoc/main.py b/tools/dtoc/main.py index f82ee782682..9d0b3915c0e 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: |