]> git.sur5r.net Git - i3/i3/commitdiff
i3test::XTEST: don’t “use i3test” to avoid clobbering state
authorMichael Stapelberg <michael@stapelberg.de>
Thu, 14 Sep 2017 09:44:49 +0000 (11:44 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 19 Sep 2017 14:13:17 +0000 (16:13 +0200)
Before this commit, the $i3_autostart variable was accidentally overridden.

testcases/lib/i3test.pm.in
testcases/lib/i3test/Util.pm
testcases/lib/i3test/XTEST.pm

index 5e3f8b2d243c3216a0128c0f16a312078835253c..0f28a7a9f9e32b70b3acb864bcd01789520966c0 100644 (file)
@@ -793,14 +793,7 @@ sub get_socket_path {
     if ($cache && defined($_cached_socket_path)) {
         return $_cached_socket_path;
     }
-
-    my $atom = $x->atom(name => 'I3_SOCKET_PATH');
-    my $cookie = $x->get_property(0, $x->get_root_window(), $atom->id, GET_PROPERTY_TYPE_ANY, 0, 256);
-    my $reply = $x->get_property_reply($cookie->{sequence});
-    my $socketpath = $reply->{value};
-    if ($socketpath eq "/tmp/nested-$ENV{DISPLAY}") {
-        $socketpath .= '-activation';
-    }
+    my $socketpath = i3test::Util::get_socket_path($x);
     $_cached_socket_path = $socketpath;
     return $socketpath;
 }
index 749136813d0492bcbe99798aec54af3af543bc13..725ca4e174d81c5a4dd205be40979e325dfacaa4 100644 (file)
@@ -5,9 +5,13 @@ use strict;
 use warnings;
 use v5.10;
 
+use X11::XCB qw(GET_PROPERTY_TYPE_ANY);
+use X11::XCB::Connection;
+
 use Exporter qw(import);
 our @EXPORT = qw(
     slurp
+    get_socket_path
 );
 
 =encoding utf-8
@@ -38,6 +42,25 @@ sub slurp {
     return $content;
 }
 
+=head2 get_socket_path([X11::XCB::Connection])
+
+Gets the socket path from the C<I3_SOCKET_PATH> atom stored on the X11 root
+window.
+
+=cut
+sub get_socket_path {
+    my ($x) = @_;
+    $x //= X11::XCB::Connection->new();
+    my $atom = $x->atom(name => 'I3_SOCKET_PATH');
+    my $cookie = $x->get_property(0, $x->get_root_window(), $atom->id, GET_PROPERTY_TYPE_ANY, 0, 256);
+    my $reply = $x->get_property_reply($cookie->{sequence});
+    my $socketpath = $reply->{value};
+    if ($socketpath eq "/tmp/nested-$ENV{DISPLAY}") {
+        $socketpath .= '-activation';
+    }
+    return $socketpath;
+}
+
 =head1 AUTHOR
 
 Michael Stapelberg <michael@i3wm.org>
index 3937b70acd65c934f3ff46f616199b9170f7dc2d..b7a9cdc5e256792d0cafe988ceb1752f81f20d9c 100644 (file)
@@ -5,7 +5,8 @@ use strict;
 use warnings;
 use v5.10;
 
-use i3test i3_autostart => 0;
+use Test::More;
+use i3test::Util qw(get_socket_path);
 use lib qw(@abs_top_srcdir@/AnyEvent-I3/blib/lib);
 use AnyEvent::I3;
 use ExtUtils::PkgConfig;