lib/drmtest: Fix up skip_henceforth checks
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 11 Feb 2014 11:14:09 +0000 (12:14 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 11 Feb 2014 11:14:09 +0000 (12:14 +0100)
We need to first check whether we'll even run the testcase before
deciding to print a premature SKIP/FAIL. Without this and global
skipped resulted in superflous output when running only one testcase.

References: https://bugs.freedesktop.org/show_bug.cgi?id=74100
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
lib/drmtest.c

index f4a8600..2718de4 100644 (file)
@@ -972,6 +972,10 @@ bool __igt_run_subtest(const char *subtest_name)
                return false;
        }
 
+       if (run_single_subtest &&
+           strcmp(subtest_name, run_single_subtest) != 0)
+               return false;
+
        if (skip_subtests_henceforth) {
                printf("Subtest %s: %s\n", subtest_name,
                       skip_subtests_henceforth == SKIP ?
@@ -979,14 +983,7 @@ bool __igt_run_subtest(const char *subtest_name)
                return false;
        }
 
-       if (!run_single_subtest) {
-               return (in_subtest = subtest_name);
-       } else {
-               if (strcmp(subtest_name, run_single_subtest) == 0)
-                       return (in_subtest = subtest_name);
-
-               return false;
-       }
+       return (in_subtest = subtest_name);
 }
 
 const char *igt_subtest_name(void)