- /**
- These are run before/after the test. If implemented. Their execution is not controlled
- by the test.
- */
- struct Item {
- /* This is called a the beginning of any run. */
- test_callback_fn *_startup;
-
- test_return_t startup(void*);
-
- /*
- This called on a test if the test requires a flush call (the bool is
- from test_st)
- */
- test_callback_fn *_flush;
-
- /*
- Run before and after the runnner is executed.
- */
- test_callback_fn *pre_run;
- test_callback_fn *post_run;
-
- Item() :
- _startup(NULL),
- _flush(NULL),
- pre_run(NULL),
- post_run(NULL)
- { }
-
- test_return_t flush(void* arg, test_st* run);
-
- void set_pre(test_callback_fn *arg)
- {
- pre_run= arg;
- }
-
- void set_post(test_callback_fn *arg)
- {
- pre_run= arg;
- }
-
- test_return_t pre(void *arg)
- {
- if (pre_run)
- {
- return pre_run(arg);
- }
-
- return TEST_SUCCESS;
- }
-
- test_return_t post(void *arg)
- {
- if (post_run)
- {
- return post_run(arg);
- }
-
- return TEST_SUCCESS;
- }
-
- } item;
+ void set_sasl(const std::string& username_arg, const std::string& password_arg)
+ {
+ _servers.set_sasl(username_arg, password_arg);
+ }
+
+ libtest::server_startup_st& servers()
+ {
+ return _servers;
+ }
+
+ void set_runner(libtest::Runner *arg)
+ {
+ _runner= arg;
+ }
+
+ libtest::Runner *runner();
+
+ void exec();
+
+ libtest::Collection& collection();
+
+ Framework(libtest::SignalThread&, const std::string&);
+
+ virtual ~Framework();
+
+ Framework(libtest::SignalThread&,
+ const std::string&,
+ const std::string&);
+
+ bool match(const char* arg);
+
+ void *creators_ptr()
+ {
+ return _creators_ptr;
+ }
+
+ libtest::SignalThread& signal()
+ {
+ return _signal;
+ }
+
+ uint32_t sum_total();
+ uint32_t sum_success();
+ uint32_t sum_skipped();
+ uint32_t sum_failed();
+
+ size_t size()
+ {
+ return _collection.size();
+ }
+
+ uint32_t total() const
+ {
+ return _total;
+ }
+
+ uint32_t success() const
+ {
+ return _success;
+ }
+
+ uint32_t skipped() const
+ {
+ return _skipped;
+ }
+
+ uint32_t failed() const
+ {
+ return _failed;
+ }
+
+private:
+ Framework& operator=(const Framework&);
+
+ collection_st *_collections;
+
+ uint32_t _total;
+ uint32_t _success;
+ uint32_t _skipped;
+ uint32_t _failed;
+
+ /* These methods are called outside of any collection call. */
+ test_callback_create_fn *_create;
+ test_callback_destroy_fn *_destroy;