runner
SRunner *const runner = (SRunner *)calloc(1, sizeof(SRunner));
if (runner != NULL) {
runner->suite = suite;
return runner;
handle_failure(SRunner *runner, int verbosity, const char *context,
runner->nfailures++;
srunner_run_all(SRunner *runner, const char *context, int verbosity) {
assert(runner != NULL);
suite = runner->suite;
runner->nchecks++;
handle_failure(runner, verbosity, context, "during setup");
handle_failure(runner, verbosity, context, "during actual test");
handle_failure(runner, verbosity, context, "during teardown");
srunner_summarize(SRunner *runner, int verbosity) {
int passed = runner->nchecks - runner->nfailures;
double percentage = ((double)passed) / runner->nchecks;
printf("%d%%: Checks: %d, Failed: %d\n", display, runner->nchecks,
runner->nfailures);
srunner_ntests_failed(SRunner *runner) {
assert(runner != NULL);
return runner->nfailures;
srunner_free(SRunner *runner) {
if (! runner) {
suite_free(runner->suite);
free(runner);
void srunner_run_all(SRunner *runner, const char *context, int verbosity);
void srunner_summarize(SRunner *runner, int verbosity);
int srunner_ntests_failed(SRunner *runner);
void srunner_free(SRunner *runner);
errno = pthread_create(&threads[tnum], NULL, runner,
val = runner(0);
void *runner(void *);
struct cpu_info *runner;
runner = sih->sih_runner;
if (runner != NULL)
sched_barrier(runner);