Skip Menu |
Queue is disabled
This queue is disabled and you may not create new tickets in it. Disabled queues are usually because the distribution was merged with another or changed names. Sometimes they are the end result of a bad autocreate from PAUSE data before anyone noticed.
Report information
Id: 132108
Status: open
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: alex.jakimenko [at]

Severity: (no value)
Tag: testneeded
Platform: (no value)
Patch Status: (no value)
VM: (no value)

Subject: [REGRESSION] Test output should not be buffered even for non-TTYs (prove -j 8 …)
Download (untitled) / with headers
text/plain 1.2k
When I'm running prove with more than one job (-j) I'm expecting to see the progress continuously. However, after the recent buffering change all you can see in prove is this: ===( 4;0 1/? 1/? 1/? 1/? )====================================^ In other words, 4 files are running but you can't see how many tests were done in each. Compare it with output like this: ===( 27;4 8/? 9/? 4/? 6/? )==================================== **How to replicate:** Create 8 files like this: use Test; for ^20 { sleep rand; is 42, 42, ‘42 is 42’; } done-testing; Now run it with: $ prove -j 4 --exec=perl6 t/ It can be “fixed” with a crude patch like this: diff --git a/lib/Test.pm6 b/lib/Test.pm6 index ea4176a40..8ef52b9d0 100644 --- a/lib/Test.pm6 +++ b/lib/Test.pm6 @@ -39,6 +39,8 @@ my int $done_testing_has_been_run = 0; _init_vars(); sub _init_io { + nqp::setbuffersizefh(nqp::getstdin(), 0); + nqp::setbuffersizefh(nqp::getstdout(), 0); $output = $PROCESS::OUT; $failure_output = $PROCESS::ERR; $todo_output = $PROCESS::OUT; But is there any better way to do it? See also: * * RT #132030
RT-Send-CC: perl6-compiler [...]
Download (untitled) / with headers
text/plain 163b

This service is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at