From 9fd2684391e67be588747a9abac268fd089f0e9c Mon Sep 17 00:00:00 2001 From: Jan Richter Date: Thu, 23 May 2024 15:44:58 +0200 Subject: [PATCH] check.py for running avocado coverage.py The avocado was using `selftests/run` script for running coverage tests. This script uses python unittests module instead of avocado, which has few disadvantages. The main is that running the `selftests/run` differs from running `check.py`, therefore the coverage report hasn't represented the actual state. After the latest changes in ea0e23dc and 4100cc22 it is possible to run avocado's main selftests entry point `check.py` with the coverage.py. With such change, the running coverage diagnose will use the same process as our selftests, therefore the report will be more precise. Reference: #4992 Signed-off-by: Jan Richter --- .coveragerc | 2 ++ .github/workflows/ci.yml | 4 +++- selftests/run_coverage | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 0000000000..146151a521 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,2 @@ +[run] +source = avocado/, optional_plugins/ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e4981b7c11..56dc7a1edf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -132,7 +132,9 @@ jobs: - name: Run pre script run: ./cc-test-reporter before-build - name: Run script - run: make develop && ./selftests/run_coverage + run: | + python setup.py develop --user + ./selftests/run_coverage - name: Run post script run: ./cc-test-reporter after-build - run: echo "🥑 This job's status is ${{ job.status }}." diff --git a/selftests/run_coverage b/selftests/run_coverage index 9457131035..22583020b7 100755 --- a/selftests/run_coverage +++ b/selftests/run_coverage @@ -15,8 +15,8 @@ echo "Using coverage utility: $COVERAGE" $COVERAGE erase rm -f .coverage.* -RUNNING_COVERAGE=1 AVOCADO_CHECK_LEVEL=1 UNITTEST_AVOCADO_CMD="$COVERAGE run -p --include 'avocado/*,optional_plugins/*' $PYTHON -m avocado" $COVERAGE run -p --include "avocado/*,optional_plugins/*" ./selftests/run -$COVERAGE combine .coverage* +$COVERAGE run selftests/check.py --skip=static-checks +$COVERAGE combine echo $COVERAGE report -m --include "avocado/core/*" echo