Subject: | Taint fails several tests due to different warning messages |
Seems like the tests for 'Taint' compare perl warnings messages against fixed strings. Apparently these have changed since Taint was last touched (some just in "case" (upper vs. lower), others, slightly different wording.
The attached 'diff' modifies the bad tests to use more general matches. It doesn't require to be the most strict wording, as that will likely fail again in the future...
Subject: | Taint.diff |
diff -u ./t/0-basic.t ./t/0-basic.t
--- ./t/0-basic.t 1997-10-09 09:12:25.000000000 -0700
+++ ./t/0-basic.t 2017-05-25 13:48:54.126497229 -0700
@@ -1,5 +1,4 @@
#! perl -Tw
-
BEGIN {
unshift @INC, '..' if -d '../t' and -e '../Taint.pm';
unshift @INC, '.' if -d 't' and -e 'Taint.pm';
@@ -113,7 +112,7 @@
test 30, &$sub('123 456 789') == '123';
test 31, not defined &$sub('123 456');
$sub = eval { make_extractor ')bad pattern(' };
- test 32, $@ =~ /unmatched/, "'$@'";
+ test 32, $@ =~ /unmatched/i, "'$@'";
test 33, not defined $sub;
}
@@ -132,15 +131,15 @@
eval 'sub tainted_null () { "" }';
$foo = shift @warnings;
-test 38, $foo =~ /Constant subroutine \w+ redefined/, $foo;
+test 38, $foo =~ /subroutine.*\w+.*redefined/i, $foo;
eval 'sub tainted_zero () { 0 }';
$foo = shift @warnings;
-test 39, $foo =~ /Constant subroutine \w+ redefined/, $foo;
+test 39, $foo =~ /subroutine.*\w+.*redefined/i, $foo;
eval 'sub taint_checking () { 1 }';
$foo = shift @warnings;
-test 40, $foo =~ /Constant subroutine \w+ redefined/, $foo;
+test 40, $foo =~ /subroutine.*\w+.*redefined/i, $foo;
$foo = 'ImPrObAbLe';
taint($foo);
diff -u ./t/tied.t ./t/tied.t
--- ./t/tied.t 1997-10-09 13:41:45.000000000 -0700
+++ ./t/tied.t 2017-05-25 13:49:43.325988338 -0700
@@ -35,6 +35,7 @@
{
package MagicScalar;
+
# A MagicScalar may be assigned any number of values.
# When evaluated, it returns one of them at random, with
# the most likely ones being the least recently returned.
@@ -85,7 +86,7 @@
sub DESTROY {
warn "DESTROY: " . join(" ", map "'$_'", @_) if $DEBUGGING;
my $self = shift;
- undef $$self;
+ $self=undef;
}
sub TAINT {