tests, stacking: Add tests with no-input and no-take-focus windows

When a window with no frame, that doesn't accept focus and that has no take-focus
atom set is destroyed, we end up in not changing the current_focus window, causing
a crash.

Added test cases that verify this situation (expected to fail).

See #308
This commit is contained in:
Marco Trevisan (Treviño) 2018-11-13 00:48:53 -06:00
parent 7c89167644
commit 26cb0a5a75
5 changed files with 76 additions and 0 deletions

View File

@ -15,6 +15,9 @@ dist_stacking_DATA = \
$(srcdir)/tests/stacking/basic-x11.metatest \ $(srcdir)/tests/stacking/basic-x11.metatest \
$(srcdir)/tests/stacking/basic-wayland.metatest \ $(srcdir)/tests/stacking/basic-wayland.metatest \
$(srcdir)/tests/stacking/closed-transient.metatest \ $(srcdir)/tests/stacking/closed-transient.metatest \
$(srcdir)/tests/stacking/closed-transient-no-input-no-take-focus-parent.metatest \
$(srcdir)/tests/stacking/closed-transient-no-input-no-take-focus-parents.metatest \
$(srcdir)/tests/stacking/closed-transient-no-input-parent.metatest \
$(srcdir)/tests/stacking/minimized.metatest \ $(srcdir)/tests/stacking/minimized.metatest \
$(srcdir)/tests/stacking/mixed-windows.metatest \ $(srcdir)/tests/stacking/mixed-windows.metatest \
$(srcdir)/tests/stacking/set-parent.metatest \ $(srcdir)/tests/stacking/set-parent.metatest \

View File

@ -87,6 +87,9 @@ stacking_tests = files([
'stacking/basic-wayland.metatest', 'stacking/basic-wayland.metatest',
'stacking/client-side-decorated.metatest', 'stacking/client-side-decorated.metatest',
'stacking/closed-transient.metatest', 'stacking/closed-transient.metatest',
'stacking/closed-transient-no-input-no-take-focus-parent.metatest',
'stacking/closed-transient-no-input-no-take-focus-parents.metatest',
'stacking/closed-transient-no-input-parent.metatest',
'stacking/minimized.metatest', 'stacking/minimized.metatest',
'stacking/mixed-windows.metatest', 'stacking/mixed-windows.metatest',
'stacking/set-parent.metatest', 'stacking/set-parent.metatest',

View File

@ -0,0 +1,23 @@
new_client 1 x11
create 1/1
show 1/1
wait
create 1/2 csd
set_parent 1/2 1
take_focus 1/2 false
accept_focus 1/2 false
show 1/2
wait
create 1/3 csd
set_parent 1/3 2
show 1/3
wait
assert_stacking 1/1 1/2 1/3
destroy 1/3
wait
assert_stacking 1/1 1/2

View File

@ -0,0 +1,25 @@
new_client 1 x11
create 1/1
accept_focus 1/1 false
take_focus 1/1 false
show 1/1
wait
create 1/2 csd
set_parent 1/2 1
take_focus 1/2 false
accept_focus 1/2 false
show 1/2
wait
create 1/3 csd
set_parent 1/3 2
show 1/3
wait
assert_stacking 1/1 1/2 1/3
destroy 1/3
wait
assert_stacking 1/1 1/2

View File

@ -0,0 +1,22 @@
new_client 1 x11
create 1/1
show 1/1
wait
create 1/2 csd
set_parent 1/2 1
accept_focus 1/2 false
show 1/2
wait
create 1/3 csd
set_parent 1/3 2
show 1/3
wait
assert_stacking 1/1 1/2 1/3
destroy 1/3
wait
assert_stacking 1/1 1/2