-/**
- Structure which houses the actual callers for the test cases contained in
- the collections.
-*/
-typedef struct {
- test_callback_runner_fn pre;
- test_callback_runner_fn run;
- test_callback_runner_fn post;
-} world_runner_st;
-
-
-/**
- world_st is the structure which is passed to the test implementation to be filled.
- This must be implemented in order for the test framework to load the tests. We call
- get_world() in order to fill this structure.
-*/
-
-struct world_st {
- collection_st *collections;
-
- /* These methods are called outside of any collection call. */
- test_callback_create_fn create;
- test_callback_fn destroy;
-
- struct {
- /* This is called a the beginning of any test run. */
- test_callback_fn startup;
-
- /* 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;
-
-
- /**
- Runner represents the callers for the tests. If not implemented we will use
- a set of default implementations.
- */
- world_runner_st *runner;
-};
-
-
-
-/**
- @note world_stats_st is a simple structure for tracking test successes.
-*/
-typedef struct {
- uint32_t collection_success;
- uint32_t collection_skipped;
- uint32_t collection_failed;
- uint32_t collection_total;
- uint32_t success;
- uint32_t skipped;
- uint32_t failed;
- uint32_t total;
-} world_stats_st;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Help function for use with gettimeofday() */
-LIBTEST_API
-long int timedif(struct timeval a, struct timeval b);
-
-/* How we make all of this work :) */
-LIBTEST_API
-void get_world(world_st *world);
-
-LIBTEST_INTERNAL_API
-void create_core(void);
-
-/**
- @note Friendly print function for errors.
-*/
-LIBTEST_API
-const char *test_strerror(test_return_t code);
+#define test_assert(A, B) \
+do \
+{ \
+ if ((A)) { \
+ fprintf(stderr, "\n%s:%d: Assertion failed %s, with message %s, in %s", __FILE__, __LINE__, (B), #A, __func__ );\
+ fprintf(stderr, "\n"); \
+ libtest::create_core(); \
+ assert((A)); \
+ } \
+} while (0)