]> git.sur5r.net Git - i3/i3/commitdiff
tests: warp the pointer to in multi-monitor tests to avoid flaky tests
authorMichael Stapelberg <michael@stapelberg.de>
Mon, 9 Apr 2012 12:48:43 +0000 (14:48 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Mon, 9 Apr 2012 12:48:57 +0000 (14:48 +0200)
src/workspace.c
testcases/t/502-focus-output.t
testcases/t/503-workspace.t

index 87e26049ff5866a4c0eaaf763840b6c50a0d1f07..44f32c2dfa4aecdad30dc0f40318925e0367ba77 100644 (file)
@@ -594,6 +594,7 @@ Con* workspace_prev_on_output(void) {
     Con *current = con_get_workspace(focused);
     Con *prev = NULL;
     Con *output  = con_get_output(focused);
+    DLOG("output = %s\n", output->name);
 
     if (current->num == -1) {
         /* If named workspace, find previous named workspace. */
index 01e987231689622980b56b2ca3ed62c7f6491cde..4e0fedbbf99356335557104f35b8a865398232be 100644 (file)
@@ -28,6 +28,9 @@ sub focused_output {
     return $output->{name};
 }
 
+$x->root->warp_pointer(0, 0);
+sync_with_i3;
+
 is(focused_output, 'fake-0', 'focus on first output');
 
 cmd 'focus output right';
index 19d9f95ae32469db50f754887ea504b96aaade3c..94ba34349295d1a4e62b58c65250bf70ce8e4593 100644 (file)
@@ -18,6 +18,9 @@ my $pid = launch_with_config($config);
 # Setup workspaces so that they stay open (with an empty container).
 ################################################################################
 
+$x->root->warp_pointer(0, 0);
+sync_with_i3;
+
 is(focused_ws, '1', 'starting on workspace 1');
 # ensure workspace 1 stays open
 open_window;
@@ -66,6 +69,12 @@ is(focused_ws, '1', 'workspace 1 focused');
 
 cmd 'workspace 2';
 
+# XXX: This is to avoid EnterNotifies changing the focus. Not sure why they
+# appear sometimes in the first place. Only happens when running the full
+# testsuite.
+$x->root->warp_pointer(1025, 0);
+sync_with_i3;
+
 cmd 'workspace prev_on_output';
 is(focused_ws, '2', 'workspace 2 focused');