[PATCH 1/2] patman: do not hardcode coverage tool
Quentin Schulz
quentin.schulz at theobroma-systems.com
Tue Aug 30 12:01:55 CEST 2022
Hi Michal,
On 8/25/22 08:49, Michal Suchanek wrote:
> The coverage tool name varies across distributions.
>
> Add COVERAGE variable to specify the tool name.
>
> Also there is one place where prefix is prepended to the tool path,
> remove the prefix.
>
> Signed-off-by: Michal Suchanek <msuchanek at suse.de>
> ---
> doc/develop/testing.rst | 3 +++
> tools/patman/test_util.py | 18 ++++++++++--------
> 2 files changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/doc/develop/testing.rst b/doc/develop/testing.rst
> index 1abe4d7f0f..054fbfc814 100644
> --- a/doc/develop/testing.rst
> +++ b/doc/develop/testing.rst
> @@ -17,6 +17,9 @@ To run most tests on sandbox, type this::
> in the U-Boot directory. Note that only the pytest suite is run using this
> command.
>
> +Note: external tool `python3-coverage` is used by tests. The environment
> +variable `COVERAGE` can be set to alternative name or location of this tool.
> +
> Some tests take ages to run and are marked with @pytest.mark.slow. To run just
> the quick ones, type this::
>
> diff --git a/tools/patman/test_util.py b/tools/patman/test_util.py
> index 0f6d1aa902..e11806b626 100644
> --- a/tools/patman/test_util.py
> +++ b/tools/patman/test_util.py
> @@ -15,6 +15,8 @@ from patman import command
>
> from io import StringIO
>
> +coverage = os.environ.get('COVERAGE', 'python3-coverage')
> +
> buffer_outputs = True
> use_concurrent = True
> try:
> @@ -58,11 +60,11 @@ def run_test_coverage(prog, filter_fname, exclude_list, build_dir, required=None
> prefix = ''
> if build_dir:
> prefix = 'PYTHONPATH=$PYTHONPATH:%s/sandbox_spl/tools ' % build_dir
> - cmd = ('%spython3-coverage run '
> - '--omit "%s" %s %s %s -P1' % (prefix, ','.join(glob_list),
> + cmd = ('%s run '
> + '--omit "%s" %s %s %s -P1' % (coverage, ','.join(glob_list),
> prog, extra_args or '', test_cmd))
What about using
python3 -m coverage run
instead?
This way we wouldn't rely on the binary name the host distribution
chooses (python3-coverage for Ubuntu, coverage for Fedora).
I'm not sure there is a need to give the user the ability to override
this value since I expect only coverage.py is supported at the moment?
Cheers,
Quentin
More information about the U-Boot
mailing list