From 69e37123baed3e7d5970be3c576fb61f91713736 Mon Sep 17 00:00:00 2001 From: Brian Aker Date: Mon, 11 Jan 2010 13:07:36 -0800 Subject: [PATCH] Absorb test bits into anonymous structure. --- tests/atomsmasher.c | 13 +++++++----- tests/function.c | 13 +++++++----- tests/plus.cpp | 13 +++++++----- tests/test.c | 51 ++++++++++++++++++++++++--------------------- tests/test.h | 35 +++++++++++++++++-------------- tests/udp.c | 13 +++++++----- 6 files changed, 78 insertions(+), 60 deletions(-) diff --git a/tests/atomsmasher.c b/tests/atomsmasher.c index b0abc4ed..3e759767 100644 --- a/tests/atomsmasher.c +++ b/tests/atomsmasher.c @@ -235,12 +235,15 @@ collection_st collection[] ={ void get_world(world_st *world) { world->collections= collection; - world->test_startup= (test_callback_fn)world_test_startup; - world->flush= (test_callback_fn)world_flush; - world->pre_run= (test_callback_fn)world_pre_run; + world->create= (test_callback_create_fn)world_create; - world->post_run= (test_callback_fn)world_post_run; - world->on_error= (test_callback_error_fn)world_on_error; world->destroy= (test_callback_fn)world_destroy; + + world->test.startup= (test_callback_fn)world_test_startup; + world->test.flush= (test_callback_fn)world_flush; + world->test.pre_run= (test_callback_fn)world_pre_run; + world->test.post_run= (test_callback_fn)world_post_run; + world->test.on_error= (test_callback_error_fn)world_on_error; + world->runner= &defualt_libmemcached_runner; } diff --git a/tests/function.c b/tests/function.c index dc3436b1..f0b10af0 100644 --- a/tests/function.c +++ b/tests/function.c @@ -5814,12 +5814,15 @@ collection_st collection[] ={ void get_world(world_st *world) { world->collections= collection; - world->test_startup= (test_callback_fn)world_test_startup; - world->flush= (test_callback_fn)world_flush; - world->pre_run= (test_callback_fn)world_pre_run; + world->create= (test_callback_create_fn)world_create; - world->post_run= (test_callback_fn)world_post_run; - world->on_error= (test_callback_error_fn)world_on_error; world->destroy= (test_callback_fn)world_destroy; + + world->test.startup= (test_callback_fn)world_test_startup; + world->test.flush= (test_callback_fn)world_flush; + world->test.pre_run= (test_callback_fn)world_pre_run; + world->test.post_run= (test_callback_fn)world_post_run; + world->test.on_error= (test_callback_error_fn)world_on_error; + world->runner= &defualt_libmemcached_runner; } diff --git a/tests/plus.cpp b/tests/plus.cpp index eba08c08..7a37ee17 100644 --- a/tests/plus.cpp +++ b/tests/plus.cpp @@ -299,12 +299,15 @@ collection_st collection[] ={ void get_world(world_st *world) { world->collections= collection; - world->test_startup= reinterpret_cast(world_test_startup); - world->flush= reinterpret_cast(world_flush); - world->pre_run= reinterpret_cast(world_pre_run); + world->create= reinterpret_cast(world_create); - world->post_run= reinterpret_cast(world_post_run); - world->on_error= reinterpret_cast(world_on_error); world->destroy= reinterpret_cast(world_destroy); + + world->test.startup= reinterpret_cast(world_test_startup); + world->test.flush= reinterpret_cast(world_flush); + world->test.pre_run= reinterpret_cast(world_pre_run); + world->test.post_run= reinterpret_cast(world_post_run); + world->test.on_error= reinterpret_cast(world_on_error); + world->runner= &defualt_libmemcached_runner; } diff --git a/tests/test.c b/tests/test.c index ff6bca68..27f7f1b0 100644 --- a/tests/test.c +++ b/tests/test.c @@ -163,7 +163,7 @@ int main(int argc, char *argv[]) if (world.collection_startup) { - collection_rc= world.test_startup(world_ptr); + collection_rc= world.collection_startup(world_ptr); } switch (collection_rc) @@ -196,45 +196,48 @@ int main(int argc, char *argv[]) fprintf(stderr, "Testing %s", run->name); - if (world.test_startup) + if (world.test.startup) { - world.test_startup(world_ptr); + world.test.startup(world_ptr); } - if (run->requires_flush && world.flush) + if (run->requires_flush && world.test.flush) { - world.flush(world_ptr); + world.test.flush(world_ptr); } - if (world.pre_run) + if (world.test.pre_run) { - world.pre_run(world_ptr); + world.test.pre_run(world_ptr); } - if (next->pre && world.runner->pre) + // Runner code { - return_code= world.runner->pre(next->pre, world_ptr); - - if (return_code != TEST_SUCCESS) + if (next->pre && world.runner->pre) { - goto error; + return_code= world.runner->pre(next->pre, world_ptr); + + if (return_code != TEST_SUCCESS) + { + goto error; + } } - } - gettimeofday(&start_time, NULL); - return_code= world.runner->run(run->test_fn, world_ptr); - gettimeofday(&end_time, NULL); - load_time= timedif(end_time, start_time); + gettimeofday(&start_time, NULL); + return_code= world.runner->run(run->test_fn, world_ptr); + gettimeofday(&end_time, NULL); + load_time= timedif(end_time, start_time); - if (next->post && world.runner->post) - { - (void) world.runner->post(next->post, world_ptr); + if (next->post && world.runner->post) + { + (void) world.runner->post(next->post, world_ptr); + } } - if (world.post_run) + if (world.test.post_run) { - world.post_run(world_ptr); + world.test.post_run(world_ptr); } error: @@ -267,10 +270,10 @@ error: fprintf(stderr, "[ %s ]\n", test_strerror(return_code)); - if (world.on_error) + if (world.test.on_error) { test_return_t rc; - rc= world.on_error(return_code, world_ptr); + rc= world.test.on_error(return_code, world_ptr); if (rc != TEST_SUCCESS) break; diff --git a/tests/test.h b/tests/test.h index d5be8c30..39b14125 100644 --- a/tests/test.h +++ b/tests/test.h @@ -82,8 +82,25 @@ struct world_st { test_callback_create_fn create; test_callback_fn destroy; - /* This is called a the beginning of any test run. */ - test_callback_fn test_startup; + 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; /* This is called a the beginning of any collection run. */ test_callback_fn collection_startup; @@ -91,20 +108,6 @@ struct world_st { /* This is called a the beginning of any collection run. */ test_callback_fn collection_shutdown; - /* 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; /** Runner represents the callers for the tests. If not implemented we will use diff --git a/tests/udp.c b/tests/udp.c index c66f1085..232d6b64 100644 --- a/tests/udp.c +++ b/tests/udp.c @@ -59,12 +59,15 @@ collection_st collection[] ={ void get_world(world_st *world) { world->collections= collection; - world->test_startup= (test_callback_fn)world_test_startup; - world->flush= (test_callback_fn)world_flush; - world->pre_run= (test_callback_fn)world_pre_run; + world->create= (test_callback_create_fn)world_create; - world->post_run= (test_callback_fn)world_post_run; - world->on_error= (test_callback_error_fn)world_on_error; world->destroy= (test_callback_fn)world_destroy; + + world->test.startup= (test_callback_fn)world_test_startup; + world->test.flush= (test_callback_fn)world_flush; + world->test.pre_run= (test_callback_fn)world_pre_run; + world->test.post_run= (test_callback_fn)world_post_run; + world->test.on_error= (test_callback_error_fn)world_on_error; + world->runner= &defualt_libmemcached_runner; } -- 2.30.2