diff options
Diffstat (limited to 't/win32/popen.t')
-rw-r--r-- | t/win32/popen.t | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/t/win32/popen.t b/t/win32/popen.t new file mode 100644 index 0000000000..eca0a1d67c --- /dev/null +++ b/t/win32/popen.t @@ -0,0 +1,27 @@ +#!./perl + +BEGIN { + chdir 't' if -d 't'; + @INC = '../lib'; + require "./test.pl"; + require Config; + $Config::Config{d_pseudofork} + or skip_all("no psuedo-fork"); + eval 'use Errno'; + die $@ if $@ and !is_miniperl(); +} + +# [perl #77672] backticks capture text printed to stdout when working +# with multiple threads on windows +watchdog(20); # before the fix this would often lock up + +fresh_perl_like(<<'PERL', qr/\A[z\n]+\z/, {}, "popen and threads"); +if (!defined fork) { die "can't fork" } +for(1..100) { + print "zzzzzzzzzzzzz\n"; + my $r=`perl -v`; + print $r if($r=~/zzzzzzzzzzzzz/); +} +PERL + +done_testing(); |