diff options
Diffstat (limited to 'external/perl/Text-Template-1.46/t/13-taint.t')
-rw-r--r-- | external/perl/Text-Template-1.46/t/13-taint.t | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/external/perl/Text-Template-1.46/t/13-taint.t b/external/perl/Text-Template-1.46/t/13-taint.t deleted file mode 100644 index d92a37463a..0000000000 --- a/external/perl/Text-Template-1.46/t/13-taint.t +++ /dev/null @@ -1,119 +0,0 @@ -#!perl -T -# Tests for taint-mode features - -use lib 'blib/lib'; -use Text::Template; - -die "This is the test program for Text::Template version 1.46. -You are using version $Text::Template::VERSION instead. -That does not make sense.\n -Aborting" - unless $Text::Template::VERSION == 1.46; - -my $r = int(rand(10000)); -my $file = "tt$r"; - -# makes its arguments tainted -sub taint { - for (@_) { - $_ .= substr($0,0,0); # LOD - } -} - - -print "1..21\n"; - -my $n =1; -print "ok ", $n++, "\n"; - -my $template = 'The value of $n is {$n}.'; - -open T, "> $file" or die "Couldn't write temporary file $file: $!"; -print T $template, "\n"; -close T or die "Couldn't finish temporary file $file: $!"; - -sub should_fail { - my $obj = Text::Template->new(@_); - eval {$obj->fill_in()}; - if ($@) { - print "ok $n # $@\n"; - } else { - print "not ok $n # (didn't fail)\n"; - } - $n++; -} - -sub should_work { - my $obj = Text::Template->new(@_); - eval {$obj->fill_in()}; - if ($@) { - print "not ok $n # $@\n"; - } else { - print "ok $n\n"; - } - $n++; -} - -sub should_be_tainted { - if (Text::Template::_is_clean($_[0])) { - print "not ok $n\n"; $n++; return; - } - print "ok $n\n"; $n++; return; -} - -sub should_be_clean { - unless (Text::Template::_is_clean($_[0])) { - print "not ok $n\n"; $n++; return; - } - print "ok $n\n"; $n++; return; -} - -# Tainted filename should die with and without UNTAINT option -# untainted filename should die without UNTAINT option -# filehandle should die without UNTAINT option -# string and array with tainted data should die either way - -# (2)-(7) -my $tfile = $file; -taint($tfile); -should_be_tainted($tfile); -should_be_clean($file); -should_fail TYPE => 'file', SOURCE => $tfile; -should_fail TYPE => 'file', SOURCE => $tfile, UNTAINT => 1; -should_fail TYPE => 'file', SOURCE => $file; -should_work TYPE => 'file', SOURCE => $file, UNTAINT => 1; - -# (8-9) -open H, "< $file" or die "Couldn't open $file for reading: $!; aborting"; -should_fail TYPE => 'filehandle', SOURCE => \*H; -close H; -open H, "< $file" or die "Couldn't open $file for reading: $!; aborting"; -should_work TYPE => 'filehandle', SOURCE => \*H, UNTAINT => 1; -close H; - -# (10-15) -my $ttemplate = $template; -taint($ttemplate); -should_be_tainted($ttemplate); -should_be_clean($template); -should_fail TYPE => 'string', SOURCE => $ttemplate; -should_fail TYPE => 'string', SOURCE => $ttemplate, UNTAINT => 1; -should_work TYPE => 'string', SOURCE => $template; -should_work TYPE => 'string', SOURCE => $template, UNTAINT => 1; - -# (16-19) -my $array = [ $template ]; -my $tarray = [ $ttemplate ]; -should_fail TYPE => 'array', SOURCE => $tarray; -should_fail TYPE => 'array', SOURCE => $tarray, UNTAINT => 1; -should_work TYPE => 'array', SOURCE => $array; -should_work TYPE => 'array', SOURCE => $array, UNTAINT => 1; - -# (20-21) Test _unconditionally_untaint utility function -Text::Template::_unconditionally_untaint($ttemplate); -should_be_clean($ttemplate); -Text::Template::_unconditionally_untaint($tfile); -should_be_clean($tfile); - -END { unlink $file } - |