$worker->{ipc} = $ipc_child;
+ # Preload the i3test module: reduces user CPU from 25s to 18s
require i3test;
- # TODO: recycle $x
- # unfortunately this fails currently with:
- # Could not get reply for: xcb_intern_atom_reply at X11/XCB/Atom.pm line 22.
- # $i3test::x = bless $x, 'i3test::X11';
worker_wait($worker, $outdir);
exit 23;
exit unless $file;
- die "tried to launch nonexistend testfile $file: $!\n"
+ die "tried to launch nonexistent testfile $file: $!\n"
unless -e $file;
# start a new and self contained process:
- # whatever happens in the testfile should *NOT* effect us.
+ # whatever happens in the testfile should *NOT* affect us.
my $pid = fork // die "could not fork: $!";
if ($pid == 0) {
my $i3_autostart;
END {
-
- # testcases which start i3 manually should always call exit_gracefully
- # on their own. Let’s see, whether they really did.
- if (! $i3_autostart) {
- return unless $i3_pid;
-
- $tester->ok(undef, 'testcase called exit_gracefully()');
- }
+ # Skip the remaining cleanup for testcases which set i3_autostart => 0:
+ return if !defined($i3_pid) && !$i3_autostart;
# don't trigger SIGCHLD handler
local $SIG{CHLD};