diff options
Diffstat (limited to 'libbuild2/test/operation.cxx')
-rw-r--r-- | libbuild2/test/operation.cxx | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/libbuild2/test/operation.cxx b/libbuild2/test/operation.cxx new file mode 100644 index 0000000..3ff7702 --- /dev/null +++ b/libbuild2/test/operation.cxx @@ -0,0 +1,55 @@ +// file : libbuild2/test/operation.cxx -*- C++ -*- +// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#include <libbuild2/test/operation.hxx> + +using namespace std; +using namespace butl; + +namespace build2 +{ + namespace test + { + static operation_id + test_pre (const values& params, meta_operation_id mo, const location& l) + { + if (!params.empty ()) + fail (l) << "unexpected parameters for operation test"; + + // Run update as a pre-operation, unless we are disfiguring. + // + return mo != disfigure_id ? update_id : 0; + } + + const operation_info op_test { + test_id, + 0, + "test", + "test", + "testing", + "tested", + "has nothing to test", // We cannot "be tested". + execution_mode::first, + 1, + &test_pre, + nullptr + }; + + // Also the explicit update-for-test operation alias. + // + const operation_info op_update_for_test { + update_id, // Note: not update_for_test_id. + test_id, + op_update.name, + op_update.name_do, + op_update.name_doing, + op_update.name_did, + op_update.name_done, + op_update.mode, + op_update.concurrency, + op_update.pre, + op_update.post + }; + } +} |