BEGIN {
chdir 't' if -d 't';
- unshift @INC, '../lib';
+ @INC = '../lib';
}
-$ENV{PERL_DESTRUCT_LEVEL} = 0 unless $ENV{PERL_DESTRUCT_LEVEL} > 3;
+$| = 1;
umask 0;
$xref = \ "";
-$runme = ($^O eq 'VMS' ? 'MCR ' : '') . $^X;
+$runme = $^X;
@a = (1..5);
%h = (1..6);
$aref = \@a;
@INPUT = <DATA>;
@simple_input = grep /^\s*\w+\s*\$\w+\s*[#\n]/, @INPUT;
-print "1..", (10 + @INPUT + @simple_input), "\n";
+print "1..", (11 + @INPUT + @simple_input), "\n";
$ord = 0;
sub wrn {"@_"}
$ord++;
($op, undef, $comment) = /^([^\#]+)(\#\s+(.*))?/;
$comment = $op unless defined $comment;
+ chomp;
$op = "$op==$op" unless $op =~ /==/;
($op, $expectop) = $op =~ /(.*)==(.*)/;
$skip = ($op =~ /^'\?\?\?'/ or $comment =~ /skip\(.*\Q$^O\E.*\)/i)
- ? "skip" : "not";
+ ? "skip" : "# '$_'\nnot";
$integer = ($comment =~ /^i_/) ? "use integer" : '' ;
(print "#skipping $comment:\nok $ord\n"), next if $skip eq 'skip';
print "# skipping $comment: unimplemented:\nok $ord\n";
} else {
warn $@;
- print "not ok $ord\n";
+ print "# '$_'\nnot ok $ord\n";
}
}
}
$ord++;
($op, undef, $comment) = /^([^\#]+)(\#\s+(.*))?/;
$comment = $op unless defined $comment;
+ chomp;
($operator, $variable) = /^\s*(\w+)\s*\$(\w+)/ or warn "misprocessed '$_'\n";
eval <<EOE;
local \$SIG{__WARN__} = \\&wrn;
print "# skipping $comment: syntax not good for selfassign:\nok $ord\n";
} else {
warn $@;
- print "not ok $ord\n";
+ print "# '$_'\nnot ok $ord\n";
}
}
}
+
+$ord++;
+eval {
+ sub PVBM () { 'foo' }
+ index 'foo', PVBM;
+ my $x = PVBM;
+
+ my $str = 'foo';
+ my $pvlv = \substr $str, 0, 1;
+ $x = $pvlv;
+
+ 1;
+};
+if ($@) {
+ warn "# $@";
+ print 'not ';
+}
+print "ok $ord\n";
+
__END__
ref $xref # ref
ref $cstr # ref nonref
-`$runme -e "print qq[1\n]"` # backtick skip(MSWin32)
+`$runme -e "print qq[1\\n]"` # backtick skip(MSWin32)
`$undefed` # backtick undef skip(MSWin32)
<*> # glob
<OP> # readline
quotemeta $cstr # quotemeta
@$aref # rv2av
@$undefed # rv2av undef
-each %h==1 # each
+(each %h) % 2 == 1 # each
values %h # values
keys %h # keys
%$href # rv2hv
fileno STDERR # fileno
umask 0 # umask
select STDOUT # sselect
-select "","","",0 # select
+select undef,undef,undef,0 # select
getc OP # getc
'???' # read
'???' # sysread
time # time
localtime $^T # localtime
gmtime $^T # gmtime
-sleep 1 # sleep
+'???' # sleep: can randomly fail
'???' # alarm
'???' # shmget
'???' # shmctl