Page MenuHomePhabricator

devtools: add a script to check coverge determinism
AbandonedPublicDraft

Authored by PiRK on Sep 3 2021, 14:03.

Details

Reviewers
None
Group Reviewers
Restricted Project
Maniphest Tasks
Restricted Maniphest Task
Summary

This revision is similar to D10030, except that the script is adapted to
use our own coverage tools (ninja coverage-check-bitcoin) instead of
adding a new way of measuring coverage with new dependencies.

The list of files with non-deterministic coverage has been computed by running the script about 20 times with -DENABLE_COVERAGE=ON but without branch coverage.

Note that this does not provide a good way to finding out if a file can be removed from the list. Some lack of determinism requires many runs to be detected, so absence of detection does not guarantee that a problem is solved.

Test Plan
cmake .. -GNinja  -DENABLE_COVERAGE=ON
../contrib/devtools/test_deterministic_coverage.sh

Much more sensitive:

cmake .. -GNinja  -DENABLE_COVERAGE=ON -DENABLE_BRANCH_COVERAGE=ON
../contrib/devtools/test_deterministic_coverage.sh

Diff Detail

Repository
rABC Bitcoin ABC
Branch
deterministic_tests
Lint
Lint Errors
SeverityLocationCodeMessage
Errorcontrib/debian/test_deterministic_coverage.sh:SHELL_LOCALE1`export LC_ALL=C` or `export LC_ALL=C.UTF-8` should be the first statement.
Unit
No Test Coverage
Build Status
Buildable 16536
Build 32934: Build Diff
Build 32933: arc lint + arc unit