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;
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];
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);