Skip to content

fix(dev/tools): reliable parallel perl_test_runner JSON handoff#731

Open
fglock wants to merge 1 commit into
masterfrom
fix/perl-test-runner-result-by-pid
Open

fix(dev/tools): reliable parallel perl_test_runner JSON handoff#731
fglock wants to merge 1 commit into
masterfrom
fix/perl-test-runner-result-by-pid

Conversation

@fglock
Copy link
Copy Markdown
Owner

@fglock fglock commented May 13, 2026

Problem

Parallel perl_test_runner.pl used glob(\"/tmp/perl_test_*\") and scanned JSON blobs until test_file matched the reaped worker. Under concurrent JVM load this can correlate the wrong child result with the wrong .t, producing bogus lines in saved logs (I 27/41 for op/exec.t, phantom on comp/ tests).

Fix

Every child writes its summary JSON to /tmp/perl_test_runner_result_<PID>; the parent, which knows child_pid from waitpid, reads only that path. No shared glob scan.

Verification

perl dev/tools/perl_test_runner.pl --jobs 10 perl5_t/t/comp perl5_t/t/op/exec.t

…d PID

Parallel runs globbed /tmp/perl_test_* and matched on test_file, which could
associate the wrong child output under load — logs showed phantom failures
(exec.t incomplete TAP, unrelated comp regressions).

Write each child's summary to /tmp/perl_test_runner_RESULT_<PID>; parent reads
exactly that path when waitpid reap fires.

Generated with [Cursor](https://cursor.com/docs)

Co-Authored-By: Cursor <noreply@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant