X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fio%2Fopenpid.t;h=449a268d961631ece9d00dde3387262be8fe2a10;hb=673061948a634568cc156286d219e7f736c6048a;hp=2dec677bcb1ad44e15a6388dcb4d2da87e391750;hpb=d67aa87a1383860a50a1cda017e175d17b66c122;p=p5sagit%2Fp5-mst-13.2.git diff --git a/t/io/openpid.t b/t/io/openpid.t index 2dec677..449a268 100755 --- a/t/io/openpid.t +++ b/t/io/openpid.t @@ -23,8 +23,10 @@ plan tests => 10; use Config; $| = 1; $SIG{PIPE} = 'IGNORE'; +$SIG{HUP} = 'IGNORE' if $^O eq 'interix'; my $perl = which_perl(); +$perl .= qq[ "-I../lib"]; # # commands run 4 perl programs. Two of these programs write a @@ -33,22 +35,21 @@ my $perl = which_perl(); # the other reader reads one line, waits a few seconds and then # exits to test the waitpid function. # -@cmd1 = ($perl,'-I../lib','-e', - q{$|=1; print qq[first process\n]; sleep 300;}); -@cmd2 = ($perl,'-I../lib','-e', - q{$|=1; print qq[second process\n]; sleep 30;}); -@cmd3 = ($perl,'-I../lib','-e', - "print <>;"); # hangs waiting for end of STDIN -@cmd4 = ($perl,'-I../lib','-e', - "print scalar <>;"); +$cmd1 = qq/$perl -e "\$|=1; print qq[first process\\n]; sleep 30;"/; +$cmd2 = qq/$perl -e "\$|=1; print qq[second process\\n]; sleep 30;"/; +$cmd3 = qq/$perl -e "print <>;"/; # hangs waiting for end of STDIN +$cmd4 = qq/$perl -e "print scalar <>;"/; #warn "#$cmd1\n#$cmd2\n#$cmd3\n#$cmd4\n"; # start the processes -ok( $pid1 = open(FH1, "-|", @cmd1), 'first process started'); -ok( $pid2 = open(FH2, "-|", @cmd2), ' second' ); -ok( $pid3 = open(FH3, "|-", @cmd3), ' third' ); -ok( $pid4 = open(FH4, "|-", @cmd4), ' fourth' ); +ok( $pid1 = open(FH1, "$cmd1 |"), 'first process started'); +ok( $pid2 = open(FH2, "$cmd2 |"), ' second' ); +{ + no warnings 'once'; + ok( $pid3 = open(FH3, "| $cmd3"), ' third' ); +} +ok( $pid4 = open(FH4, "| $cmd4"), ' fourth' ); print "# pids were $pid1, $pid2, $pid3, $pid4\n";