tests: make t/159-socketpath more robust
…by getting the socket path from i3 and then checking that it conforms to what we expect. Previously we monitored /tmp, which can go wrong in various ways, especially since i3’s directory within /tmp is not predictable (by design).
This commit is contained in:
parent
072daa94b3
commit
19946ee14d
|
@ -5,6 +5,7 @@
|
||||||
#
|
#
|
||||||
use i3test i3_autostart => 0;
|
use i3test i3_autostart => 0;
|
||||||
use File::Temp qw(tempfile tempdir);
|
use File::Temp qw(tempfile tempdir);
|
||||||
|
use File::Basename;
|
||||||
use POSIX qw(getuid);
|
use POSIX qw(getuid);
|
||||||
use v5.10;
|
use v5.10;
|
||||||
|
|
||||||
|
@ -20,21 +21,14 @@ EOT
|
||||||
# ensure XDG_RUNTIME_DIR is not set
|
# ensure XDG_RUNTIME_DIR is not set
|
||||||
delete $ENV{XDG_RUNTIME_DIR};
|
delete $ENV{XDG_RUNTIME_DIR};
|
||||||
|
|
||||||
# See which files exist in /tmp before to not mistakenly check an already
|
|
||||||
# existing tmpdir of another i3 instance.
|
|
||||||
my @files_before = </tmp/i3-*>;
|
|
||||||
my $pid = launch_with_config($config, dont_add_socket_path => 1, dont_create_temp_dir => 1);
|
my $pid = launch_with_config($config, dont_add_socket_path => 1, dont_create_temp_dir => 1);
|
||||||
my @files_after = </tmp/i3-*>;
|
my $socketpath = get_socket_path(0);
|
||||||
@files_after = grep { !($_ ~~ @files_before) } @files_after;
|
|
||||||
|
|
||||||
is(@files_after, 1, 'one new temp directory');
|
|
||||||
|
|
||||||
my $folder = "/tmp/i3-" . getpwuid(getuid());
|
my $folder = "/tmp/i3-" . getpwuid(getuid());
|
||||||
like($files_after[0], qr/^$folder/, 'temp directory matches expected pattern');
|
like(dirname($socketpath), qr/^$folder/, 'temp directory matches expected pattern');
|
||||||
$folder = $files_after[0];
|
$folder = dirname($socketpath);
|
||||||
|
|
||||||
ok(-d $folder, "folder $folder exists");
|
ok(-d $folder, "folder $folder exists");
|
||||||
my $socketpath = "$folder/ipc-socket." . $pid;
|
$socketpath = "$folder/ipc-socket." . $pid;
|
||||||
ok(-S $socketpath, "file $socketpath exists and is a socket");
|
ok(-S $socketpath, "file $socketpath exists and is a socket");
|
||||||
|
|
||||||
exit_gracefully($pid);
|
exit_gracefully($pid);
|
||||||
|
|
Loading…
Reference in New Issue