X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Ftest.c;h=fb501fadc2edcc6d57270c2cd47ce52cdc21a5d8;hb=51d1a5f37c90faa416a5fbd9238aafbde718b074;hp=44f18eea9f7da4e577ee02b526a6766c933536d0;hpb=3936140765093cf4e3b28e0a4b837a67b79c1cbf;p=awesomized%2Flibmemcached diff --git a/tests/test.c b/tests/test.c index 44f18eea..fb501fad 100644 --- a/tests/test.c +++ b/tests/test.c @@ -19,7 +19,6 @@ #include #include #include -#include "server.h" #include "test.h" @@ -33,7 +32,7 @@ static void world_stats_print(world_stats_st *stats) static long int timedif(struct timeval a, struct timeval b) { - register int us, s; + long us, s; us = (int)(a.tv_usec - b.tv_usec); us /= 1000; @@ -58,7 +57,6 @@ const char *test_strerror(test_return_t code) fprintf(stderr, "Unknown return value\n"); abort(); } - } void create_core(void) @@ -126,9 +124,16 @@ int main(int argc, char *argv[]) collection= world.collections; if (world.create) - world_ptr= world.create(); + { + test_return_t error; + world_ptr= world.create(&error); + if (error != TEST_SUCCESS) + exit(1); + } else + { world_ptr= NULL; + } if (argc > 1) collection_to_run= argv[1]; @@ -172,7 +177,7 @@ int main(int argc, char *argv[]) } - if (next->pre) + if (next->pre && world.runner->pre) { return_code= world.runner->pre(next->pre, world_ptr); @@ -187,9 +192,9 @@ int main(int argc, char *argv[]) gettimeofday(&end_time, NULL); load_time= timedif(end_time, start_time); - if (next->post) + if (next->post && world.runner->post) { - (void) world.runner->pre(next->pre, world_ptr); + (void) world.runner->post(next->post, world_ptr); } if (world.post_run) @@ -236,7 +241,16 @@ error: fprintf(stderr, "All tests completed successfully\n\n"); if (world.destroy) - world.destroy(world_ptr); + { + test_return_t error; + error= world.destroy(world_ptr); + + if (error != TEST_SUCCESS) + { + fprintf(stderr, "Failure during shutdown.\n"); + stats.failed++; // We do this to make our exit code return 1 + } + } world_stats_print(&stats);