#
# 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;
}
+sub diag {
+ _diag(@_);
+}
+
sub skip_all {
if (@_) {
print STDOUT "1..0 # Skipped: @_\n";
# Ensure that the message is properly escaped.
_diag @mess;
- $test++;
+ $test = $test + 1; # don't use ++
return $pass;
}
$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);
}
}
sub next_test {
- $test++;
+ my $retval = $test;
+ $test = $test + 1; # don't use ++
+ $retval;
}
# Note: can't pass multipart messages since we try to
my $n = @_ ? shift : 1;
for (1..$n) {
print STDOUT "ok $test # skip: $why\n";
- $test++;
+ $test = $test + 1;
}
local $^W = 0;
last SKIP;
for (1..$n) {
print STDOUT "not ok $test # TODO & SKIP: $why\n";
- $test++;
+ $test = $test + 1;
}
local $^W = 0;
last TODO;
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
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;