authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2015-12-04 23:04:49-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2015-12-04 23:04:49-07:00
logf49e857b9b0063744e9df9481ef7fdef313c56d3
treefd73b28217cb22d66525a30e93f8212b4c029916
parentc7615c1a8055effe5e29bc2329278ca41a258804

run_tests supports --reverse arg


1 files changed, 29 insertions(+), 7 deletions(-)

test/run_tests.cpp+29-7
......@@ -548,12 +548,21 @@ static void run_test(TestCase *test_case) {
548548 }
549549}
550550
551static void run_all_tests(void) {
552 for (int i = 0; i < test_cases.length; i += 1) {
553 TestCase *test_case = test_cases.at(i);
554 printf("Test %d/%d %s...", i + 1, test_cases.length, test_case->case_name);
555 run_test(test_case);
556 printf("OK\n");
551static void run_all_tests(bool reverse) {
552 if (reverse) {
553 for (int i = test_cases.length - 1; i >= 0; i -= 1) {
554 TestCase *test_case = test_cases.at(i);
555 printf("Test %d/%d %s...", i + 1, test_cases.length, test_case->case_name);
556 run_test(test_case);
557 printf("OK\n");
558 }
559 } else {
560 for (int i = 0; i < test_cases.length; i += 1) {
561 TestCase *test_case = test_cases.at(i);
562 printf("Test %d/%d %s...", i + 1, test_cases.length, test_case->case_name);
563 run_test(test_case);
564 printf("OK\n");
565 }
557566 }
558567 printf("%d tests passed.\n", test_cases.length);
559568}
......@@ -563,9 +572,22 @@ static void cleanup(void) {
563572 remove(tmp_exe_path);
564573}
565574
575static int usage(const char *arg0) {
576 fprintf(stderr, "Usage: %s [--reverse]\n", arg0);
577 return 1;
578}
579
566580int main(int argc, char **argv) {
581 bool reverse = false;
582 for (int i = 1; i < argc; i += 1) {
583 if (strcmp(argv[i], "--reverse") == 0) {
584 reverse = true;
585 } else {
586 return usage(argv[0]);
587 }
588 }
567589 add_compiling_test_cases();
568590 add_compile_failure_test_cases();
569 run_all_tests();
591 run_all_tests(reverse);
570592 cleanup();
571593}