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 <msucha...@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