HomePhabricator

[CMAKE] Replace the test runner with a test wrapper

Description

[CMAKE] Replace the test runner with a test wrapper

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.

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5619

Details

Provenance
FabienAuthored on Mar 31 2020, 08:32
FabienPushed on Mar 31 2020, 12:20
Reviewer
Restricted Project
Differential Revision
D5619: [CMAKE] Replace the test runner with a test wrapper
Parents
rSTAGING5a74bd17d75c: Clean the native directory when using the clean target
Branches
Unknown
Tags
Unknown