[PATCH] dtoc: Update fdt tests to use test_util

Alper Nebi Yasak alpernebiyasak at gmail.com
Tue Apr 5 15:49:56 CEST 2022


On 19/03/2022 03:01, Simon Glass wrote:
> Use the common functions to run tests and report results. Ensure that the
> result code indicates success or failure.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
>  tools/dtoc/test_fdt.py | 27 ++++++++++-----------------
>  1 file changed, 10 insertions(+), 17 deletions(-)

Reviewed-by: Alper Nebi Yasak <alpernebiyasak at gmail.com>

> diff --git a/tools/dtoc/test_fdt.py b/tools/dtoc/test_fdt.py
> index 914ed6aed59..3859af8d032 100755
> --- a/tools/dtoc/test_fdt.py
> +++ b/tools/dtoc/test_fdt.py
> @@ -780,25 +780,17 @@ def RunTests(args):
>      Args:
>          args: List of positional args provided to fdt. This can hold a test
>              name to execute (as in 'fdt -t testFdt', for example)
> +
> +    Returns:
> +        Return code, 0 on success
>      """
>      result = unittest.TestResult()
> -    sys.argv = [sys.argv[0]]
>      test_name = args and args[0] or None
> -    for module in (TestFdt, TestNode, TestProp, TestFdtUtil):
> -        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)
> +    test_util.run_test_suites(
> +        result, False, False, False, None, test_name, None,
> +        [TestFdt, TestNode, TestProp, TestFdtUtil])

These would look better in the kwarg=value format.

> +
> +    return test_util.report_result('fdt', test_name, result)
>  
>  if __name__ != '__main__':
>      sys.exit(1)
> @@ -816,6 +808,7 @@ parser.add_option('-T', '--test-coverage', action='store_true',
>  
>  # Run our meagre tests
>  if options.test:
> -    RunTests(args)
> +    ret_code = RunTests(args)

Pylint complains this "constant" isn't uppercased. (I don't particularly
care, I just noticed it when running pylint for my test report format
series.)

> +    sys.exit(ret_code)
>  elif options.test_coverage:
>      RunTestCoverage()


More information about the U-Boot mailing list