X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/6f998dadd365dcf88776abd404d1a47b068400ff..0fa56319bf436f5bc52860b8491e91269fb41056:/t/test.pl diff --git a/t/test.pl b/t/test.pl index 0f2f7a0..37e6682 100644 --- a/t/test.pl +++ b/t/test.pl @@ -1,6 +1,20 @@ # # t/test.pl - most of Test::More functionality without the fuss + + +# NOTE: +# +# Increment ($x++) has a certain amount of cleverness for things like +# +# $x = 'zz'; +# $x++; # $x eq 'aaa'; +# +# stands more chance of breaking than just a simple # +# $x = $x + 1 +# +# In this file, we use the latter "Baby Perl" approach, and increment +# will be worked over by t/op/inc.t $Level = 1; my $test = 1; @@ -49,6 +63,10 @@ sub _diag { } +sub diag { + _diag(@_); +} + sub skip_all { if (@_) { print STDOUT "1..0 # Skipped: @_\n"; @@ -81,7 +99,7 @@ sub _ok { # Ensure that the message is properly escaped. _diag @mess; - $test++; + $test = $test + 1; # don't use ++ return $pass; } @@ -256,9 +274,10 @@ sub like_yn ($$$@) { $pass = $got !~ /$expected/ if $flip; unless ($pass) { unshift(@mess, "# got '$got'\n", - "# expected /$expected/\n"); + $flip + ? "# expected !~ /$expected/\n" : "# expected /$expected/\n"); } - local $Level = 2; + local $Level = $Level + 1; _ok($pass, _where(), $name, @mess); } @@ -276,7 +295,9 @@ sub curr_test { } sub next_test { - $test++; + my $retval = $test; + $test = $test + 1; # don't use ++ + $retval; } # Note: can't pass multipart messages since we try to @@ -286,7 +307,7 @@ sub skip { my $n = @_ ? shift : 1; for (1..$n) { print STDOUT "ok $test # skip: $why\n"; - $test++; + $test = $test + 1; } local $^W = 0; last SKIP; @@ -298,7 +319,7 @@ sub todo_skip { for (1..$n) { print STDOUT "not ok $test # TODO & SKIP: $why\n"; - $test++; + $test = $test + 1; } local $^W = 0; last TODO; @@ -485,7 +506,7 @@ sub runperl { my $tainted = ${^TAINT}; my %args = @_; - exists $args{switches} && grep m/^-T$/, @{$args{switches}} and $tainted++; + exists $args{switches} && grep m/^-T$/, @{$args{switches}} and $tainted = $tainted + 1; if ($tainted) { # We will assume that if you're running under -T, you really mean to @@ -503,10 +524,11 @@ sub runperl { my @keys = grep {exists $ENV{$_}} qw(CDPATH IFS ENV BASH_ENV); local @ENV{@keys} = (); # Untaint, plus take out . and empty string: + local $ENV{'DCL$PATH'} = $1 if $is_vms && ($ENV{'DCL$PATH'} =~ /(.*)/s); $ENV{PATH} =~ /(.*)/s; local $ENV{PATH} = join $sep, grep { $_ ne "" and $_ ne "." and - ($is_mswin or !((stat$_)[2]&0022)) } + ($is_mswin or $is_vms or !(stat && (stat _)[2]&0022)) } split quotemeta ($sep), $1; $runperl =~ /(.*)/s;