Latest update.
This commit is contained in:
+22
-33
@@ -280,20 +280,20 @@ void set_test_title(const char *title)
|
||||
test_title = title == NULL ? NULL : strdup(title);
|
||||
}
|
||||
|
||||
PRINTF_FORMAT(2, 3) static void test_verdict(int pass, const char *extra, ...)
|
||||
PRINTF_FORMAT(2, 3) static void test_verdict(int verdict,
|
||||
const char *description, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
test_flush_stdout();
|
||||
test_flush_stderr();
|
||||
|
||||
test_printf_stdout("%*s%s", level, "", pass ? "ok" : "not ok");
|
||||
if (extra != NULL) {
|
||||
test_printf_stdout(" ");
|
||||
va_start(ap, extra);
|
||||
test_vprintf_stdout(extra, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
test_printf_stdout("%*s%s ", level, "", verdict != 0 ? "ok" : "not ok");
|
||||
va_start(ap, description);
|
||||
test_vprintf_stdout(description, ap);
|
||||
va_end(ap);
|
||||
if (verdict == TEST_SKIP_CODE)
|
||||
test_printf_stdout(" # skipped");
|
||||
test_printf_stdout("\n");
|
||||
test_flush_stdout();
|
||||
}
|
||||
@@ -349,20 +349,14 @@ int run_tests(const char *test_prog_name)
|
||||
}
|
||||
test_flush_stdout();
|
||||
} else if (all_tests[i].num == -1) {
|
||||
int ret = 0;
|
||||
|
||||
set_test_title(all_tests[i].test_case_name);
|
||||
ret = all_tests[i].test_fn();
|
||||
verdict = 1;
|
||||
if (!ret) {
|
||||
verdict = 0;
|
||||
++num_failed;
|
||||
}
|
||||
verdict = all_tests[i].test_fn();
|
||||
test_verdict(verdict, "%d - %s", ii + 1, test_title);
|
||||
finalize(ret);
|
||||
finalize(verdict != 0);
|
||||
} else {
|
||||
int num_failed_inner = 0;
|
||||
|
||||
verdict = TEST_SKIP_CODE;
|
||||
level += 4;
|
||||
if (all_tests[i].subtest && single_iter == -1) {
|
||||
test_printf_stdout("%*s# Subtest: %s\n", level, "",
|
||||
@@ -381,39 +375,34 @@ int run_tests(const char *test_prog_name)
|
||||
while (jstep == 0 || gcd(all_tests[i].num, jstep) != 1);
|
||||
|
||||
for (jj = 0; jj < all_tests[i].num; jj++) {
|
||||
int ret;
|
||||
int v;
|
||||
|
||||
j = (j + jstep) % all_tests[i].num;
|
||||
if (single_iter != -1 && ((jj + 1) != single_iter))
|
||||
continue;
|
||||
set_test_title(NULL);
|
||||
ret = all_tests[i].param_test_fn(j);
|
||||
v = all_tests[i].param_test_fn(j);
|
||||
|
||||
if (!ret)
|
||||
if (v == 0) {
|
||||
++num_failed_inner;
|
||||
verdict = 0;
|
||||
} else if (v != TEST_SKIP_CODE && verdict != 0) {
|
||||
verdict = 1;
|
||||
}
|
||||
|
||||
finalize(ret);
|
||||
finalize(v != 0);
|
||||
|
||||
if (all_tests[i].subtest) {
|
||||
verdict = 1;
|
||||
if (!ret) {
|
||||
verdict = 0;
|
||||
++num_failed_inner;
|
||||
}
|
||||
if (test_title != NULL)
|
||||
test_verdict(verdict, "%d - %s", jj + 1, test_title);
|
||||
test_verdict(v, "%d - %s", jj + 1, test_title);
|
||||
else
|
||||
test_verdict(verdict, "%d - iteration %d",
|
||||
jj + 1, j + 1);
|
||||
test_verdict(v, "%d - iteration %d", jj + 1, j + 1);
|
||||
}
|
||||
}
|
||||
|
||||
level -= 4;
|
||||
verdict = 1;
|
||||
if (num_failed_inner) {
|
||||
verdict = 0;
|
||||
if (verdict == 0)
|
||||
++num_failed;
|
||||
}
|
||||
test_verdict(verdict, "%d - %s", ii + 1,
|
||||
all_tests[i].test_case_name);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user