]> git.sur5r.net Git - i3/i3/commitdiff
t/164-kill-win-vs-client: get rid of sleep()s
authorMichael Stapelberg <michael@stapelberg.de>
Tue, 21 Feb 2012 13:28:37 +0000 (14:28 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 21 Feb 2012 13:28:37 +0000 (14:28 +0100)
testcases/lib/i3test.pm
testcases/t/164-kill-win-vs-client.t

index 979c60ac73815ca0629a106c697c9b1d779ffa55..58d9b9faad72f4bf3b15f9cb340c7e7b4f2d55f5 100644 (file)
@@ -409,10 +409,12 @@ sub focused_ws {
 # See also docs/testsuite for a long explanation
 #
 sub sync_with_i3 {
+    my %args = @_ == 1 ? %{$_[0]} : @_;
+
     # Since we need a (mapped) window for receiving a ClientMessage, we create
     # one on the first call of sync_with_i3. It will be re-used in all
     # subsequent calls.
-    if (!defined($_sync_window)) {
+    if (!defined($_sync_window) || exists($args{no_cache})) {
         $_sync_window = open_window(
             rect => [ -15, -15, 10, 10 ],
             override_redirect => 1,
index 165a32cec0f90438e31d4d6472104534af55cade..bce6b23b1e7e60d2a15c551d514e4bb939ec2aa6 100644 (file)
@@ -28,8 +28,7 @@ sub two_windows {
 my $tmp = two_windows;
 
 cmd 'kill';
-
-sleep 0.25;
+sync_with_i3;
 
 ok(@{get_ws_content($tmp)} == 1, 'one container left after killing');
 
@@ -41,8 +40,7 @@ ok(@{get_ws_content($tmp)} == 1, 'one container left after killing');
 $tmp = two_windows;
 
 cmd 'kill window';
-
-sleep 0.25;
+sync_with_i3;
 
 ok(@{get_ws_content($tmp)} == 1, 'one container left after killing');
 
@@ -54,8 +52,9 @@ ok(@{get_ws_content($tmp)} == 1, 'one container left after killing');
 $tmp = two_windows;
 
 cmd 'kill client';
-
-sleep 0.25;
+# We need to re-establish the X11 connection which we just killed :).
+$x = i3test::X11->new;
+sync_with_i3(no_cache => 1);
 
 ok(@{get_ws_content($tmp)} == 0, 'no containers left after killing');