summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-26 15:09:23 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-26 15:09:23 +0100
commit71c6f87eb3dacffbd489c83acfe95baf613d20cb (patch)
tree978542ed9351ee77f754cd0cec8de24750c225cd /tests
parentc8190147526000bc002c611bd3612caf2de22bf8 (diff)
lib/igt_core: fix igt_skip_on_simulation regression
I've forgotten that we might want to call this from within specific subtests (or special helpers like the autoresume one). Also props for being competent enough to write a testcase, but incompetent enough to botch the job up. Fix both things and remove a leftover debug printf while at it. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tests')
-rw-r--r--tests/igt_simulation.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/tests/igt_simulation.c b/tests/igt_simulation.c
index d3331176..6c076ff3 100644
--- a/tests/igt_simulation.c
+++ b/tests/igt_simulation.c
@@ -37,6 +37,7 @@
bool simple;
bool list_subtests;
bool in_fixture;
+bool in_subtest;
char test[] = "test";
char list[] = "--list-subtests";
@@ -66,13 +67,16 @@ static int do_fork(void)
if (in_fixture) {
igt_fixture
igt_skip_on_simulation();
+ } if (in_subtest) {
+ igt_subtest("sim")
+ igt_skip_on_simulation();
} else
igt_skip_on_simulation();
- igt_subtest("foo")
- ;
+ if (!in_subtest)
+ igt_subtest("foo")
+ ;
- printf("baz\n");
igt_exit();
}
default:
@@ -104,7 +108,6 @@ int main(int argc, char **argv)
assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
assert(do_fork() == 0);
- in_fixture = false;
assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
assert(do_fork() == 0);
@@ -112,7 +115,14 @@ int main(int argc, char **argv)
assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
assert(do_fork() == 0);
- in_fixture = true;
+ assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
+ assert(do_fork() == 0);
+
+ in_fixture = false;
+ in_subtest = true;
+ assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
+ assert(do_fork() == 0);
+
assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
assert(do_fork() == 0);
@@ -124,7 +134,6 @@ int main(int argc, char **argv)
assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
assert(do_fork() == 77);
- in_fixture = false;
assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
assert(do_fork() == 0);
@@ -132,10 +141,16 @@ int main(int argc, char **argv)
assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
assert(do_fork() == 77);
- in_fixture = true;
assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
assert(do_fork() == 0);
+ in_fixture = false;
+ in_subtest = true;
+ assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
+ assert(do_fork() == 77);
+
+ assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
+ assert(do_fork() == 0);
return 0;
}