summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/t/op/runlevel.t
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/t/op/runlevel.t')
-rwxr-xr-xcontrib/perl5/t/op/runlevel.t366
1 files changed, 0 insertions, 366 deletions
diff --git a/contrib/perl5/t/op/runlevel.t b/contrib/perl5/t/op/runlevel.t
deleted file mode 100755
index b6c128b..0000000
--- a/contrib/perl5/t/op/runlevel.t
+++ /dev/null
@@ -1,366 +0,0 @@
-#!./perl
-
-##
-## Many of these tests are originally from Michael Schroeder
-## <Michael.Schroeder@informatik.uni-erlangen.de>
-## Adapted and expanded by Gurusamy Sarathy <gsar@activestate.com>
-##
-
-chdir 't' if -d 't';
-@INC = '../lib';
-$Is_VMS = $^O eq 'VMS';
-$Is_MSWin32 = $^O eq 'MSWin32';
-$ENV{PERL5LIB} = "../lib" unless $Is_VMS;
-
-$|=1;
-
-undef $/;
-@prgs = split "\n########\n", <DATA>;
-print "1..", scalar @prgs, "\n";
-
-$tmpfile = "runltmp000";
-1 while -f ++$tmpfile;
-END { if ($tmpfile) { 1 while unlink $tmpfile; } }
-
-for (@prgs){
- my $switch = "";
- if (s/^\s*(-\w+)//){
- $switch = $1;
- }
- my($prog,$expected) = split(/\nEXPECT\n/, $_);
- open TEST, ">$tmpfile";
- print TEST "$prog\n";
- close TEST;
- my $results = $Is_VMS ?
- `MCR $^X "-I[-.lib]" $switch $tmpfile 2>&1` :
- $Is_MSWin32 ?
- `.\\perl -I../lib $switch $tmpfile 2>&1` :
- `./perl $switch $tmpfile 2>&1`;
- my $status = $?;
- $results =~ s/\n+$//;
- # allow expected output to be written as if $prog is on STDIN
- $results =~ s/runltmp\d+/-/g;
- $results =~ s/\n%[A-Z]+-[SIWEF]-.*$// if $Is_VMS; # clip off DCL status msg
- $expected =~ s/\n+$//;
- if ($results ne $expected) {
- print STDERR "PROG: $switch\n$prog\n";
- print STDERR "EXPECTED:\n$expected\n";
- print STDERR "GOT:\n$results\n";
- print "not ";
- }
- print "ok ", ++$i, "\n";
-}
-
-__END__
-@a = (1, 2, 3);
-{
- @a = sort { last ; } @a;
-}
-EXPECT
-Can't "last" outside a loop block at - line 3.
-########
-package TEST;
-
-sub TIESCALAR {
- my $foo;
- return bless \$foo;
-}
-sub FETCH {
- eval 'die("test")';
- print "still in fetch\n";
- return ">$@<";
-}
-package main;
-
-tie $bar, TEST;
-print "- $bar\n";
-EXPECT
-still in fetch
-- >test at (eval 1) line 1.
-<
-########
-package TEST;
-
-sub TIESCALAR {
- my $foo;
- eval('die("foo\n")');
- print "after eval\n";
- return bless \$foo;
-}
-sub FETCH {
- return "ZZZ";
-}
-
-package main;
-
-tie $bar, TEST;
-print "- $bar\n";
-print "OK\n";
-EXPECT
-after eval
-- ZZZ
-OK
-########
-package TEST;
-
-sub TIEHANDLE {
- my $foo;
- return bless \$foo;
-}
-sub PRINT {
-print STDERR "PRINT CALLED\n";
-(split(/./, 'x'x10000))[0];
-eval('die("test\n")');
-}
-
-package main;
-
-open FH, ">&STDOUT";
-tie *FH, TEST;
-print FH "OK\n";
-print STDERR "DONE\n";
-EXPECT
-PRINT CALLED
-DONE
-########
-sub warnhook {
- print "WARNHOOK\n";
- eval('die("foooo\n")');
-}
-$SIG{'__WARN__'} = 'warnhook';
-warn("dfsds\n");
-print "END\n";
-EXPECT
-WARNHOOK
-END
-########
-package TEST;
-
-use overload
- "\"\"" => \&str
-;
-
-sub str {
- eval('die("test\n")');
- return "STR";
-}
-
-package main;
-
-$bar = bless {}, TEST;
-print "$bar\n";
-print "OK\n";
-EXPECT
-STR
-OK
-########
-sub foo {
- $a <=> $b unless eval('$a == 0 ? bless undef : ($a <=> $b)');
-}
-@a = (3, 2, 0, 1);
-@a = sort foo @a;
-print join(', ', @a)."\n";
-EXPECT
-0, 1, 2, 3
-########
-sub foo {
- goto bar if $a == 0 || $b == 0;
- $a <=> $b;
-}
-@a = (3, 2, 0, 1);
-@a = sort foo @a;
-print join(', ', @a)."\n";
-exit;
-bar:
-print "bar reached\n";
-EXPECT
-Can't "goto" out of a pseudo block at - line 2.
-########
-sub sortfn {
- (split(/./, 'x'x10000))[0];
- my (@y) = ( 4, 6, 5);
- @y = sort { $a <=> $b } @y;
- print "sortfn ".join(', ', @y)."\n";
- return $_[0] <=> $_[1];
-}
-@x = ( 3, 2, 1 );
-@x = sort { &sortfn($a, $b) } @x;
-print "---- ".join(', ', @x)."\n";
-EXPECT
-sortfn 4, 5, 6
-sortfn 4, 5, 6
-sortfn 4, 5, 6
----- 1, 2, 3
-########
-@a = (3, 2, 1);
-@a = sort { eval('die("no way")') , $a <=> $b} @a;
-print join(", ", @a)."\n";
-EXPECT
-1, 2, 3
-########
-@a = (1, 2, 3);
-foo:
-{
- @a = sort { last foo; } @a;
-}
-EXPECT
-Label not found for "last foo" at - line 2.
-########
-package TEST;
-
-sub TIESCALAR {
- my $foo;
- return bless \$foo;
-}
-sub FETCH {
- next;
- return "ZZZ";
-}
-sub STORE {
-}
-
-package main;
-
-tie $bar, TEST;
-{
- print "- $bar\n";
-}
-print "OK\n";
-EXPECT
-Can't "next" outside a loop block at - line 8.
-########
-package TEST;
-
-sub TIESCALAR {
- my $foo;
- return bless \$foo;
-}
-sub FETCH {
- goto bbb;
- return "ZZZ";
-}
-
-package main;
-
-tie $bar, TEST;
-print "- $bar\n";
-exit;
-bbb:
-print "bbb\n";
-EXPECT
-Can't find label bbb at - line 8.
-########
-sub foo {
- $a <=> $b unless eval('$a == 0 ? die("foo\n") : ($a <=> $b)');
-}
-@a = (3, 2, 0, 1);
-@a = sort foo @a;
-print join(', ', @a)."\n";
-EXPECT
-0, 1, 2, 3
-########
-package TEST;
-sub TIESCALAR {
- my $foo;
- return bless \$foo;
-}
-sub FETCH {
- return "fetch";
-}
-sub STORE {
-(split(/./, 'x'x10000))[0];
-}
-package main;
-tie $bar, TEST;
-$bar = "x";
-########
-package TEST;
-sub TIESCALAR {
- my $foo;
- next;
- return bless \$foo;
-}
-package main;
-{
-tie $bar, TEST;
-}
-EXPECT
-Can't "next" outside a loop block at - line 4.
-########
-@a = (1, 2, 3);
-foo:
-{
- @a = sort { exit(0) } @a;
-}
-END { print "foobar\n" }
-EXPECT
-foobar
-########
-$SIG{__DIE__} = sub {
- print "In DIE\n";
- $i = 0;
- while (($p,$f,$l,$s) = caller(++$i)) {
- print "$p|$f|$l|$s\n";
- }
-};
-eval { die };
-&{sub { eval 'die' }}();
-sub foo { eval { die } } foo();
-EXPECT
-In DIE
-main|-|8|(eval)
-In DIE
-main|-|9|(eval)
-main|-|9|main::__ANON__
-In DIE
-main|-|10|(eval)
-main|-|10|main::foo
-########
-package TEST;
-
-sub TIEARRAY {
- return bless [qw(foo fee fie foe)], $_[0];
-}
-sub FETCH {
- my ($s,$i) = @_;
- if ($i) {
- goto bbb;
- }
-bbb:
- return $s->[$i];
-}
-
-package main;
-tie my @bar, 'TEST';
-print join('|', @bar[0..3]), "\n";
-EXPECT
-foo|fee|fie|foe
-########
-package TH;
-sub TIEHASH { bless {}, TH }
-sub STORE { eval { print "@_[1,2]\n" }; die "bar\n" }
-tie %h, TH;
-eval { $h{A} = 1; print "never\n"; };
-print $@;
-eval { $h{B} = 2; };
-print $@;
-EXPECT
-A 1
-bar
-B 2
-bar
-########
-sub n { 0 }
-sub f { my $x = shift; d(); }
-f(n());
-f();
-
-sub d {
- my $i = 0; my @a;
- while (do { { package DB; @a = caller($i++) } } ) {
- @a = @DB::args;
- for (@a) { print "$_\n"; $_ = '' }
- }
-}
-EXPECT
-0
OpenPOWER on IntegriCloud