testcases: introduce TestWorker.pm

instead of executing a new perl interpreter (via TAP::Parser)
each time we start a testfile, fork a TestWorker for each display.

Each worker preloads i3test via 'require', blocking waits on its ipc
to get a new filename, forks itself upon arrival and 'do'es this
testscript.
This commit is contained in:
Maik Fischer
2011-11-29 13:48:04 +01:00
parent 55c474d864
commit 9a7d7919a6
4 changed files with 226 additions and 86 deletions

View File

@ -65,7 +65,7 @@ sub start_xdummy {
exec './Xdummy', ":$displaynum", '-config', '/dev/null';
exit 1;
}
push(@main::CLEANUP, sub { kill(15, $pid) });
push(@complete_run::CLEANUP, sub { kill(15, $pid) });
push(@displays, ":$displaynum");
push(@sockets_waiting, $x_socketpath . $displaynum);
$displaynum++;