- /* This called on a test if the test requires a flush call (the bool is from test_st) */
- test_callback_fn flush;
+ /* This called on a test if the test requires a flush call (the bool is from test_st) */
+ test_callback_fn flush;
+
+ /**
+ These are run before/after the test. If implemented. Their execution is not controlled
+ by the test.
+ */
+ test_callback_fn pre_run;
+ test_callback_fn post_run;
+
+ /**
+ If an error occurs during the test, this is called.
+ */
+ test_callback_error_fn on_error;
+ } test;
+
+ struct {
+ /* This is called a the beginning of any collection run. */
+ test_callback_fn startup;
+
+ /* This is called at the end of any collection run. */
+ test_callback_fn shutdown;
+ } collection;