diff options
author | Larry Wall <lwall@netlabs.com> | 1991-03-21 00:00:00 +0000 |
---|---|---|
committer | Larry Wall <lwall@netlabs.com> | 1991-03-21 00:00:00 +0000 |
commit | fe14fcc35f78a371a174a1d14256c2f35ae4262b (patch) | |
tree | d472cb1055c47b9701cb0840969aacdbdbc9354a /t/io/pipe.t | |
parent | 27e2fb84680b9cc1db17238d5bf10b97626f477f (diff) | |
download | perl-fe14fcc35f78a371a174a1d14256c2f35ae4262b.tar.gz |
perl 4.0.00: (no release announcement available)perl-4.0.00
So far, 4.0 is still a beta test version. For the last production
version, look in pub/perl.3.0/kits@44.
Diffstat (limited to 't/io/pipe.t')
-rw-r--r-- | t/io/pipe.t | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/t/io/pipe.t b/t/io/pipe.t new file mode 100644 index 0000000000..d41f5faaec --- /dev/null +++ b/t/io/pipe.t @@ -0,0 +1,56 @@ +#!./perl + +# $Header: pipe.t,v 4.0 91/03/20 01:51:02 lwall Locked $ + +$| = 1; +print "1..8\n"; + +open(PIPE, "|-") || (exec 'tr', '[A-Z]', '[a-z]'); +print PIPE "OK 1\n"; +print PIPE "ok 2\n"; +close PIPE; + +if (open(PIPE, "-|")) { + while(<PIPE>) { + s/^not //; + print; + } +} +else { + print STDOUT "not ok 3\n"; + exec 'echo', 'not ok 4'; +} + +pipe(READER,WRITER) || die "Can't open pipe"; + +if ($pid = fork) { + close WRITER; + while(<READER>) { + s/^not //; + y/A-Z/a-z/; + print; + } +} +else { + die "Couldn't fork" unless defined $pid; + close READER; + print WRITER "not ok 5\n"; + open(STDOUT,">&WRITER") || die "Can't dup WRITER to STDOUT"; + close WRITER; + exec 'echo', 'not ok 6'; +} + + +pipe(READER,WRITER) || die "Can't open pipe"; +close READER; + +$SIG{'PIPE'} = 'broken_pipe'; + +sub broken_pipe { + print "ok 7\n"; +} + +print WRITER "not ok 7\n"; +close WRITER; + +print "ok 8\n"; |