summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-01-17 12:00:23 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-01-17 12:00:23 +0000
commit06eaf0bc49fea082c8b8358680815d807a7a925e (patch)
treef4d9a1a3a6f0ef0ce15edc648b1335e1a3012c04 /t
parenta81cd81f8e04bbc8bb5b6ca8cd8516f6206c6912 (diff)
downloadperl-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-xt/io/pipe.t9
-rwxr-xr-xt/op/taint.t4
-rw-r--r--t/pragma/warn/doio18
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.