t/66-assign: use launch_with_config

This commit is contained in:
Michael Stapelberg 2011-08-03 02:02:38 +02:00
parent 506d8797b2
commit 8734534b5c
1 changed files with 18 additions and 61 deletions

View File

@ -5,18 +5,12 @@
# Tests if assignments work # Tests if assignments work
# #
use i3test; use i3test;
use Cwd qw(abs_path);
use Proc::Background;
use File::Temp qw(tempfile tempdir);
use X11::XCB qw(:all); use X11::XCB qw(:all);
use X11::XCB::Connection; use X11::XCB::Connection;
use v5.10; use v5.10;
my $x = X11::XCB::Connection->new; my $x = X11::XCB::Connection->new;
# assuming we are run by complete-run.pl
my $i3_path = abs_path("../i3");
# TODO: move to X11::XCB # TODO: move to X11::XCB
sub set_wm_class { sub set_wm_class {
my ($id, $class, $instance) = @_; my ($id, $class, $instance) = @_;
@ -41,23 +35,12 @@ sub set_wm_class {
# start a window and see that it does not get assigned with an empty config # start a window and see that it does not get assigned with an empty config
##################################################################### #####################################################################
my $socketpath = File::Temp::tempnam('/tmp', 'i3-test-socket-'); my $config = <<EOT;
# i3 config file (v4)
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
EOT
my ($fh, $tmpfile) = tempfile(); my $process = launch_with_config($config);
say $fh "# i3 config file (v4)";
say $fh "font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1";
say $fh "ipc-socket $socketpath";
close($fh);
diag("Starting i3");
my $i3cmd = "exec " . abs_path("../i3") . " -V -d all --disable-signalhandler -c $tmpfile >/dev/null 2>/dev/null";
my $process = Proc::Background->new($i3cmd);
sleep 1;
# force update of the cached socket path in lib/i3test
get_socket_path(0);
diag("pid = " . $process->pid);
my $tmp = fresh_workspace; my $tmp = fresh_workspace;
@ -88,22 +71,13 @@ sleep 0.25;
# workspace # workspace
##################################################################### #####################################################################
($fh, $tmpfile) = tempfile(); $config = <<EOT;
say $fh "# i3 config file (v4)"; # i3 config file (v4)
say $fh "font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1"; font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
say $fh "ipc-socket $socketpath"; assign "special" targetws
say $fh q|assign "special" → targetws|; EOT
close($fh);
diag("Starting i3"); $process = launch_with_config($config);
$i3cmd = "exec " . abs_path("../i3") . " -V -d all --disable-signalhandler -c $tmpfile >/dev/null 2>/dev/null";
$process = Proc::Background->new($i3cmd);
sleep 1;
# force update of the cached socket path in lib/i3test
get_socket_path(0);
diag("pid = " . $process->pid);
$tmp = fresh_workspace; $tmp = fresh_workspace;
@ -137,15 +111,7 @@ sleep 0.25;
# already, next to the existing node. # already, next to the existing node.
##################################################################### #####################################################################
diag("Starting i3"); $process = launch_with_config($config);
$i3cmd = "exec " . abs_path("../i3") . " -V -d all --disable-signalhandler -c $tmpfile >/dev/null 2>/dev/null";
$process = Proc::Background->new($i3cmd);
sleep 1;
# force update of the cached socket path in lib/i3test
get_socket_path(0);
diag("pid = " . $process->pid);
# initialize the target workspace, then go to a fresh one # initialize the target workspace, then go to a fresh one
ok(!("targetws" ~~ @{get_workspace_names()}), 'targetws does not exist yet'); ok(!("targetws" ~~ @{get_workspace_names()}), 'targetws does not exist yet');
@ -180,22 +146,13 @@ exit_gracefully($process->pid);
# already, next to the existing node. # already, next to the existing node.
##################################################################### #####################################################################
($fh, $tmpfile) = tempfile(); $config = <<EOT;
say $fh "# i3 config file (v4)"; # i3 config file (v4)
say $fh "font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1"; font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
say $fh "ipc-socket $socketpath"; assign "special" ~
say $fh q|assign "special" → ~|; EOT
close($fh);
diag("Starting i3"); $process = launch_with_config($config);
$i3cmd = "exec " . abs_path("../i3") . " -V -d all --disable-signalhandler -c $tmpfile >/dev/null 2>/dev/null";
$process = Proc::Background->new($i3cmd);
sleep 1;
# force update of the cached socket path in lib/i3test
get_socket_path(0);
diag("pid = " . $process->pid);
$tmp = fresh_workspace; $tmp = fresh_workspace;