static int read_reporter_results(TestReporter *reporter) { int result; while ((result = receive_cgreen_message(reporter->ipc)) > 0) { if (result == pass) { reporter->passes++; } else if (result == fail) { reporter->failures++; } else if (result == exception) { reporter->exceptions++; } else if (result == completion) { /* TODO: this should always be the last message; if it's not, there's a bad race */ return FINISH_NOTIFICATION_RECEIVED; } } return FINISH_NOTIFICATION_NOT_RECEIVED; }
static void read_reporter_results(TestReporter *reporter) { int completed = 0; int result; while ((result = receive_cgreen_message(reporter->ipc)) > 0) { if (result == pass) { reporter->passes++; } else if (result == fail) { reporter->failures++; } else if (result == completion) { completed = 1; } } if (! completed) { (*reporter->show_incomplete)(reporter, get_current_from_breadcrumb((CgreenBreadcrumb *)reporter->breadcrumb)); reporter->exceptions++; } }