summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/t/run/runenv.t
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/t/run/runenv.t')
-rwxr-xr-xcontrib/perl5/t/run/runenv.t147
1 files changed, 0 insertions, 147 deletions
diff --git a/contrib/perl5/t/run/runenv.t b/contrib/perl5/t/run/runenv.t
deleted file mode 100755
index a59ad26..0000000
--- a/contrib/perl5/t/run/runenv.t
+++ /dev/null
@@ -1,147 +0,0 @@
-#!./perl
-#
-# Tests for Perl run-time environment variable settings
-#
-# $PERL5OPT, $PERL5LIB, etc.
-
-BEGIN {
- chdir 't' if -d 't';
- @INC = '../lib';
- require Config; import Config;
- unless ($Config{'d_fork'}) {
- print "1..0 # Skip: no fork\n";
- exit 0;
- }
-}
-
-my $STDOUT = './results-0';
-my $STDERR = './results-1';
-my $PERL = './perl';
-my $FAILURE_CODE = 119;
-
-print "1..9\n";
-
-# Run perl with specified environment and arguments returns a list.
-# First element is true iff Perl's stdout and stderr match the
-# supplied $stdout and $stderr argument strings exactly.
-# second element is an explanation of the failure
-sub runperl {
- local *F;
- my ($env, $args, $stdout, $stderr) = @_;
-
- unshift @$args, '-I../lib';
-
- $stdout = '' unless defined $stdout;
- $stderr = '' unless defined $stderr;
- my $pid = fork;
- return (0, "Couldn't fork: $!") unless defined $pid; # failure
- if ($pid) { # parent
- my ($actual_stdout, $actual_stderr);
- wait;
- return (0, "Failure in child.\n") if ($?>>8) == $FAILURE_CODE;
-
- open F, "< $STDOUT" or return (0, "Couldn't read $STDOUT file");
- { local $/; $actual_stdout = <F> }
- open F, "< $STDERR" or return (0, "Couldn't read $STDERR file");
- { local $/; $actual_stderr = <F> }
-
- if ($actual_stdout ne $stdout) {
- return (0, "Stdout mismatch: expected [$stdout], saw [$actual_stdout]");
- } elsif ($actual_stderr ne $stderr) {
- return (0, "Stderr mismatch: expected [$stderr], saw [$actual_stderr]");
- } else {
- return 1; # success
- }
- } else { # child
- for my $k (keys %$env) {
- $ENV{$k} = $env->{$k};
- }
- open STDOUT, "> $STDOUT" or exit $FAILURE_CODE;
- open STDERR, "> $STDERR" or it_didnt_work();
- { exec $PERL, @$args }
- it_didnt_work();
- }
-}
-
-
-sub it_didnt_work {
- print STDOUT "IWHCWJIHCI\cNHJWCJQWKJQJWCQW\n";
- exit $FAILURE_CODE;
-}
-
-sub try {
- my $testno = shift;
- my ($success, $reason) = runperl(@_);
- if ($success) {
- print "ok $testno\n";
- } else {
- $reason =~ s/\n/\\n/g;
- print "not ok $testno # $reason\n";
- }
-}
-
-# PERL5OPT Command-line options (switches). Switches in
-# this variable are taken as if they were on
-# every Perl command line. Only the -[DIMUdmw]
-# switches are allowed. When running taint
-# checks (because the program was running setuid
-# or setgid, or the -T switch was used), this
-# variable is ignored. If PERL5OPT begins with
-# -T, tainting will be enabled, and any
-# subsequent options ignored.
-
-my $T = 1;
-try($T++, {PERL5OPT => '-w'}, ['-e', 'print $::x'],
- "",
- qq{Name "main::x" used only once: possible typo at -e line 1.\nUse of uninitialized value in print at -e line 1.\n});
-
-try($T++, {PERL5OPT => '-Mstrict'}, ['-e', 'print $::x'],
- "", "");
-
-try($T++, {PERL5OPT => '-Mstrict'}, ['-e', 'print $x'],
- "",
- qq{Global symbol "\$x" requires explicit package name at -e line 1.\nExecution of -e aborted due to compilation errors.\n});
-
-# Fails in 5.6.0
-try($T++, {PERL5OPT => '-Mstrict -w'}, ['-e', 'print $x'],
- "",
- qq{Global symbol "\$x" requires explicit package name at -e line 1.\nExecution of -e aborted due to compilation errors.\n});
-
-# Fails in 5.6.0
-try($T++, {PERL5OPT => '-w -Mstrict'}, ['-e', 'print $::x'],
- "",
- <<ERROR
-Name "main::x" used only once: possible typo at -e line 1.
-Use of uninitialized value in print at -e line 1.
-ERROR
- );
-
-# Fails in 5.6.0
-try($T++, {PERL5OPT => '-w -Mstrict'}, ['-e', 'print $::x'],
- "",
- <<ERROR
-Name "main::x" used only once: possible typo at -e line 1.
-Use of uninitialized value in print at -e line 1.
-ERROR
- );
-
-try($T++, {PERL5OPT => '-MExporter'}, ['-e0'],
- "",
- "");
-
-# Fails in 5.6.0
-try($T++, {PERL5OPT => '-MExporter -MExporter'}, ['-e0'],
- "",
- "");
-
-try($T++, {PERL5OPT => '-Mstrict -Mwarnings'},
- ['-e', 'print "ok" if $INC{"strict.pm"} and $INC{"warnings.pm"}'],
- "ok",
- "");
-
-print "# ", $T-1, " tests total.\n";
-
-END {
- 1 while unlink $STDOUT;
- 1 while unlink $STDERR;
-}
OpenPOWER on IntegriCloud