diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2020-09-09 09:11:02 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2020-09-09 09:11:02 +0200 |
commit | c8a5acd33a9a7c1b28818c5f916f02e0da86960a (patch) | |
tree | 97b2711cced912b65584e2ed59d29426addfb585 | |
parent | b3732e84b40490c0d21ae6f898f43f214120717f (diff) |
Temporarily skip non-installed tests for modules that require bootstrap
-rw-r--r-- | bbot/worker/worker.cxx | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/bbot/worker/worker.cxx b/bbot/worker/worker.cxx index 81204bd..f5d9cb9 100644 --- a/bbot/worker/worker.cxx +++ b/bbot/worker/worker.cxx @@ -921,6 +921,17 @@ build (size_t argc, const char* argv[]) path mf (pkg_config / pkg_dir / "manifest"); package_manifest pm (parse_manifest<package_manifest> (mf, "package")); + // A build system module that requires bootstrap must be explicitly marked + // with `requires: bootstrap`. + // + bool bootstrap (module && + find_if (pm.requirements.begin (), + pm.requirements.end (), + [] (const requirement_alternatives& r) + { + return r.size () == 1 && r[0] == "bootstrap"; + }) != pm.requirements.end ()); + // Run the package external tests, if specified. But first filter them // against the test-exclude task manifest values using the package names. // @@ -1033,7 +1044,7 @@ build (size_t argc, const char* argv[]) return true; }; - if (internal_tests || external_tests) + if ((internal_tests || external_tests) && !bootstrap) //@@ TMP { operation_result& r (test_result != nullptr ? *test_result |