+ stats.collection_total++;
+
+ test_return_t collection_rc= world->startup(creators_ptr);
+
+ if (collection_rc == TEST_SUCCESS and next->pre)
+ {
+ collection_rc= world->runner()->pre(next->pre, creators_ptr);
+ }
+
+ switch (collection_rc)
+ {
+ case TEST_SUCCESS:
+ break;
+
+ case TEST_FATAL:
+ case TEST_FAILURE:
+ Out << next->name << " [ failed ]";
+ failed= true;
+ signal.set_shutdown(SHUTDOWN_GRACEFUL);
+ goto cleanup;
+
+ case TEST_SKIPPED:
+ Out << next->name << " [ skipping ]";
+ skipped= true;
+ goto cleanup;
+
+ case TEST_MEMORY_ALLOCATION_FAILURE:
+ test_assert(0, "Allocation failure, or unknown return");
+ }
+
+ Out << "Collection: " << next->name;
+
+ for (test_st *run= next->tests; run->name; run++)
+ {
+ struct timeval start_time, end_time;
+ long int load_time= 0;
+
+ if (wildcard && fnmatch(wildcard, run->name, 0))