diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-01-17 12:00:23 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-01-17 12:00:23 +0000 |
commit | 06eaf0bc49fea082c8b8358680815d807a7a925e (patch) | |
tree | f4d9a1a3a6f0ef0ce15edc648b1335e1a3012c04 /t | |
parent | a81cd81f8e04bbc8bb5b6ca8cd8516f6206c6912 (diff) | |
download | perl-06eaf0bc49fea082c8b8358680815d807a7a925e.tar.gz |
sanity check piped opens (tweaked version of patch suggested
by Mark-Jason Dominus)
p4raw-id: //depot/perl@2629
Diffstat (limited to 't')
-rwxr-xr-x | t/io/pipe.t | 9 | ||||
-rwxr-xr-x | t/op/taint.t | 4 | ||||
-rw-r--r-- | t/pragma/warn/doio | 18 |
3 files changed, 28 insertions, 3 deletions
diff --git a/t/io/pipe.t b/t/io/pipe.t index 08b312aec5..13db20b0c9 100755 --- a/t/io/pipe.t +++ b/t/io/pipe.t @@ -13,7 +13,7 @@ BEGIN { } $| = 1; -print "1..12\n"; +print "1..14\n"; # External program 'tr' assumed. open(PIPE, "|-") || (exec 'tr', 'YX', 'ko'); @@ -151,3 +151,10 @@ if ($? == 37*256 && $wait == $zombie && ! $!) { } else { print "not ok 12\n# pid=$wait first=$pid pipe=$pipe zombie=$zombie me=$$ \$?=$? \$!=", $!+0, ":$!\n"; } + +# Test new semantics for missing command in piped open +# 19990114 M-J. Dominus mjd@plover.com +{ local *P; + print (((open P, "| " ) ? "not " : ""), "ok 13\n"); + print (((open P, " |" ) ? "not " : ""), "ok 14\n"); +} diff --git a/t/op/taint.t b/t/op/taint.t index 379093f587..e77d5d1a04 100755 --- a/t/op/taint.t +++ b/t/op/taint.t @@ -383,10 +383,10 @@ else { for (76..79) { print "ok $_ # Skipped: open('|') is not available\n" } } else { - test 76, eval { open FOO, "| $foo" } eq '', 'popen to'; + test 76, eval { open FOO, "| x$foo" } eq '', 'popen to'; test 77, $@ =~ /^Insecure dependency/, $@; - test 78, eval { open FOO, "$foo |" } eq '', 'popen from'; + test 78, eval { open FOO, "x$foo |" } eq '', 'popen from'; test 79, $@ =~ /^Insecure dependency/, $@; } diff --git a/t/pragma/warn/doio b/t/pragma/warn/doio index 5e15c8c30f..41ac89a8e0 100644 --- a/t/pragma/warn/doio +++ b/t/pragma/warn/doio @@ -3,6 +3,12 @@ Can't do bidirectional pipe open(F, "| true |"); + Missing command in piped open + open(F, "| "); + + Missing command in piped open + open(F, " |"); + warn(warn_nl, "open"); open(F, "true\ncd") @@ -44,6 +50,18 @@ Can't do bidirectional pipe at - line 3. ######## # doio.c use warning 'io' ; +open(F, "| ") +EXPECT +Missing command in piped open at - line 3. +######## +# doio.c +use warning 'io' ; +open(F, " |") +EXPECT +Missing command in piped open at - line 3. +######## +# doio.c +use warning 'io' ; open(F, "<true\ncd") EXPECT Unsuccessful open on filename containing newline at - line 3. |