tests: warp the pointer to in multi-monitor tests to avoid flaky tests
This commit is contained in:
parent
983ba656fc
commit
1bb165a29a
|
@ -594,6 +594,7 @@ Con* workspace_prev_on_output(void) {
|
||||||
Con *current = con_get_workspace(focused);
|
Con *current = con_get_workspace(focused);
|
||||||
Con *prev = NULL;
|
Con *prev = NULL;
|
||||||
Con *output = con_get_output(focused);
|
Con *output = con_get_output(focused);
|
||||||
|
DLOG("output = %s\n", output->name);
|
||||||
|
|
||||||
if (current->num == -1) {
|
if (current->num == -1) {
|
||||||
/* If named workspace, find previous named workspace. */
|
/* If named workspace, find previous named workspace. */
|
||||||
|
|
|
@ -28,6 +28,9 @@ sub focused_output {
|
||||||
return $output->{name};
|
return $output->{name};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$x->root->warp_pointer(0, 0);
|
||||||
|
sync_with_i3;
|
||||||
|
|
||||||
is(focused_output, 'fake-0', 'focus on first output');
|
is(focused_output, 'fake-0', 'focus on first output');
|
||||||
|
|
||||||
cmd 'focus output right';
|
cmd 'focus output right';
|
||||||
|
|
|
@ -18,6 +18,9 @@ my $pid = launch_with_config($config);
|
||||||
# Setup workspaces so that they stay open (with an empty container).
|
# 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');
|
is(focused_ws, '1', 'starting on workspace 1');
|
||||||
# ensure workspace 1 stays open
|
# ensure workspace 1 stays open
|
||||||
open_window;
|
open_window;
|
||||||
|
@ -66,6 +69,12 @@ is(focused_ws, '1', 'workspace 1 focused');
|
||||||
|
|
||||||
cmd 'workspace 2';
|
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';
|
cmd 'workspace prev_on_output';
|
||||||
is(focused_ws, '2', 'workspace 2 focused');
|
is(focused_ws, '2', 'workspace 2 focused');
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue