From 9bf93c1ab73ee3cd2b763285fc5fc5456e972854 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 11 Jan 2017 10:14:23 +0200 Subject: Implement support for narrowing down tests (config.test) --- build2/test/common | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 build2/test/common (limited to 'build2/test/common') diff --git a/build2/test/common b/build2/test/common new file mode 100644 index 0000000..e9213b6 --- /dev/null +++ b/build2/test/common @@ -0,0 +1,44 @@ +// file : build2/test/common -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BUILD2_TEST_COMMON +#define BUILD2_TEST_COMMON + +#include +#include + +#include + +namespace build2 +{ + namespace test + { + struct common + { + // The config.test query interface. + // + const names* test_ = nullptr; // The config.test value if any. + scope* root_ = nullptr; // The root scope for target resolution. + + // Return true if the specified alias target should pass-through to it + // prerequisites. + // + bool + pass (target& alias_target) const; + + // Return true if the specified target should be tested. + // + bool + test (target& test_target) const; + + // Return true if the specified target should be tested with the + // specified testscript test (or group). + // + bool + test (target& test_target, const path& id_path) const; + }; + } +} + +#endif // BUILD2_TEST_COMMON -- cgit v1.1