Page MenuHomePhabricator

[CMAKE] Replace the test runner with a test wrapper
ClosedPublic

Authored by Fabien on Mar 31 2020, 11:58.

Details

Summary

This is a simplification of the current design for running the tests in
parallel.

The current solution involves a runner template and 2 stages of
replacement, one for than cmake variables at configure time and one for
the generator expressions. The last one is using cmake's
file(GENERATE) and causes each runner script to be added as a
dependency to the default target.

The new version removes the runner template in favor of a wrapper
script, called by the custom target. Since this is called at build time,
it doesn't create the unnecessary dependencies, and still allows the use
of the generator expressions (required to get the full path to the
executable).

Test Plan
ninja check-bitcoin

Tested on Linux with ninja and make, and on OSX with ninja and
Xcode.

ninja -t query build.ninja

Check the runner scripts are no longer added as dependencies.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
cmake_test_runner
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 10050
Build 17936: Default Diff Build & Tests
Build 17935: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Mar 31 2020, 12:02