aboutsummaryrefslogtreecommitdiff
path: root/build2/test/common.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-01-20 13:46:11 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-02-03 14:35:45 +0200
commit934f2a9a90c5cad3cdc8a66b50c17827a3ddbcee (patch)
treef35f106e5369e98350327c79080c571195234c0b /build2/test/common.hxx
parent280f4a5bf787587227ca193cd59c6bd74091db70 (diff)
Get rid of action rule override semantics
Instead we now have two more or less separate match states for outer and inner parts of an action.
Diffstat (limited to 'build2/test/common.hxx')
-rw-r--r--build2/test/common.hxx22
1 files changed, 21 insertions, 1 deletions
diff --git a/build2/test/common.hxx b/build2/test/common.hxx
index 89b7581..81cccb7 100644
--- a/build2/test/common.hxx
+++ b/build2/test/common.hxx
@@ -17,7 +17,24 @@ namespace build2
enum class output_before {fail, warn, clean};
enum class output_after {clean, keep};
- struct common
+ struct common_data
+ {
+ const variable& config_test;
+ const variable& config_test_output;
+
+ const variable& var_test;
+ const variable& test_options;
+ const variable& test_arguments;
+
+ const variable& test_stdin;
+ const variable& test_stdout;
+ const variable& test_roundtrip;
+ const variable& test_input;
+
+ const variable& test_target;
+ };
+
+ struct common: common_data
{
// The config.test.output values.
//
@@ -45,6 +62,9 @@ namespace build2
//
bool
test (const target& test_target, const path& id_path) const;
+
+ explicit
+ common (common_data&& d): common_data (move (d)) {}
};
}
}