runtests: better handle ^C during slow tests
Since the SIGINT handler now just sets a flag that must be checked in the main controller loop, make sure that runs periodically. Rather than blocking on a response from a test runner near the end of the test run, add a short timeout to allow it.
This commit is contained in:
Родитель
1177c741b9
Коммит
847e42d868
|
@ -2775,10 +2775,10 @@ while () {
|
|||
}
|
||||
|
||||
# See if a test runner needs attention
|
||||
# If we could be running more tests, wait just a moment so we can schedule
|
||||
# a new one shortly. If all runners are busy, wait indefinitely for one to
|
||||
# finish.
|
||||
my $runnerwait = scalar(@runnersidle) && scalar(@runtests) ? 0 : undef;
|
||||
# If we could be running more tests, don't wait so we can schedule a new
|
||||
# one immediately. If all runners are busy, wait a fraction of a second
|
||||
# for one to finish so we can still loop around to check the abort flag.
|
||||
my $runnerwait = scalar(@runnersidle) && scalar(@runtests) ? 0 : 0.5;
|
||||
my $ridready = runnerar_ready($runnerwait);
|
||||
if($ridready) {
|
||||
# This runner is ready to be serviced
|
||||
|
|
Загрузка…
Ссылка в новой задаче