about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-09-26 01:42:38 +0000
committerEric Wong <e@80x24.org>2021-09-26 01:43:36 +0000
commit7bb5328616c477c269edfac89d0388e2f36cf96f (patch)
tree0396379852a48b9ca49050b198e292b3a95f7b57 /t
parent70a3ec18d29c7fde9a5c06fe019b8bedef7acec8 (diff)
downloadpublic-inbox-7bb5328616c477c269edfac89d0388e2f36cf96f.tar.gz
The $sigchld handler was reporting the last test (successful or
not) for a given PID in case a worker dies prematurely.
Instead, redisplay all failed test in $run_log to ensure the
report only shows failed tests, and not the last started (and
possibly successful) one.
Diffstat (limited to 't')
-rwxr-xr-xt/run.perl5
1 files changed, 4 insertions, 1 deletions
diff --git a/t/run.perl b/t/run.perl
index 0fe6d08b..cf80a8a1 100755
--- a/t/run.perl
+++ b/t/run.perl
@@ -183,7 +183,10 @@ my $start_worker = sub {
                         $tb->reset;
                 }
                 kill 'USR1', $producer if !$eof; # sets $eof in $producer
-                DIE join('', map { "E: $_\n" } @err) if @err;
+                if (@err) { # write to run_log for $sigchld handler
+                        syswrite($run_log, "$$ @err\n");
+                        DIE join('', map { "E: $_\n" } @err);
+                }
                 exit(0);
         } else {
                 $pids{$pid} = $j;