get_world() in order to fill this structure.
*/
-struct Framework {
+class Framework {
+public:
collection_st *collections;
/* These methods are called outside of any collection call. */
test_callback_create_fn *_create;
- test_callback_fn *_destroy;
-
- void* create(test_return_t& arg);
+ test_callback_destroy_fn *_destroy;
/* This is called a the beginning of any collection run. */
test_callback_fn *collection_startup;
- test_return_t startup(void*);
-
/* This is called a the end of any collection run. */
test_callback_fn *collection_shutdown;
+ void set_collection_shutdown(test_callback_error_fn *arg)
+ {
+ _on_error= arg;
+ }
+
+public:
+ void* create(test_return_t& arg);
+
+ test_return_t startup(void*);
+
test_return_t shutdown(void* arg)
{
if (collection_shutdown)
These are run before/after the test. If implemented. Their execution is not controlled
by the test.
*/
- struct Item {
+ class Item {
+ public:
/* This is called a the beginning of any run. */
test_callback_fn *_startup;
*/
test_callback_fn *_flush;
+ private:
/*
Run before and after the runnner is executed.
*/
test_callback_fn *pre_run;
test_callback_fn *post_run;
+ public:
+
Item() :
_startup(NULL),
_flush(NULL),
post_run(NULL)
{ }
- test_return_t flush(void* arg, test_st* run);
-
- void set_pre(test_callback_fn *arg)
+ void set_startup(test_callback_fn *arg)
{
- pre_run= arg;
+ _startup= arg;
}
- void set_post(test_callback_fn *arg)
+ void set_collection(test_callback_fn *arg)
{
- pre_run= arg;
+ _flush= arg;
}
- test_return_t pre(void *arg)
+ void set_flush(test_callback_fn *arg)
{
- if (pre_run)
- {
- return pre_run(arg);
- }
-
- return TEST_SUCCESS;
+ _flush= arg;
}
- test_return_t post(void *arg)
+ void set_pre(test_callback_fn *arg)
{
- if (post_run)
- {
- return post_run(arg);
- }
+ pre_run= arg;
+ }
- return TEST_SUCCESS;
+ void set_post(test_callback_fn *arg)
+ {
+ pre_run= arg;
}
+ test_return_t pre(void *arg);
+ test_return_t flush(void* arg, test_st* run);
+ test_return_t post(void *arg);
+
} item;
/**
*/
test_callback_error_fn *_on_error;
+ void set_on_error(test_callback_error_fn *arg)
+ {
+ _on_error= arg;
+ }
+
test_return_t on_error(const enum test_return_t, void *);
/**
Runner represents the callers for the tests. If not implemented we will use
a set of default implementations.
*/
- Runner *runner;
+ libtest::Runner *_runner;
+
+ void set_runner(libtest::Runner *arg)
+ {
+ _runner= arg;
+ }
+
+ libtest::Runner *runner();
+
Framework();
private:
Framework& operator=(const Framework&);
+ libtest::server_startup_st _servers;
void *_creators_ptr;
};