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
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

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