aboutsummaryrefslogtreecommitdiff
path: root/build2/test/common
diff options
context:
space:
mode:
Diffstat (limited to 'build2/test/common')
-rw-r--r--build2/test/common44
1 files changed, 44 insertions, 0 deletions
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 <build2/types>
+#include <build2/utility>
+
+#include <build2/target>
+
+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