diff options
Diffstat (limited to 'cpp/tests/TestCase.h')
-rw-r--r-- | cpp/tests/TestCase.h | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/cpp/tests/TestCase.h b/cpp/tests/TestCase.h index a88b76bc1d..ec151a6d84 100644 --- a/cpp/tests/TestCase.h +++ b/cpp/tests/TestCase.h @@ -28,28 +28,39 @@ namespace qpid { /** - * Interface to be implemented by test cases for use with the test - * runner. + * TestCase provides an interface that classes implementing tests to be run using a distributed test client + * must implement. The interop test spec, defines a life-cycle for interop tests. This consists of, inviting + * a test to participate in a test, assigning a role, starting the test, and extracting a report on the + * outcome of the test. + * + * TODO: There is not method to process the test invitation. Add one. */ class TestCase { public: + /** - * Directs the test case to act in a particular role. Some roles - * may be 'activated' at this stage others may require an explicit - * start request. + * Assigns the role to be played by this test case. The test parameters are fully specified in the + * assignment messages filed table. + * + * @param role The role to be played; sender or receiver. + * @param assignRoleMessage The role assingment messages field table, contains the full test parameters. + * @param options Additional test options. */ virtual void assign(const std::string& role, framing::FieldTable& params, TestOptions& options) = 0; + /** * Each test will be started on its own thread, which should block * until the test completes (this may or may not require an * explicit stop() request). */ virtual void start() = 0; + /** * Requests that the test be stopped if still running. */ virtual void stop() = 0; + /** * Allows the test to fill in details on the final report * message. Will be called only after start has returned. |