|
Packit |
36dc46 |
#! perl -T
|
|
Packit |
36dc46 |
|
|
Packit |
36dc46 |
# Taint tests for module File::Path
|
|
Packit |
36dc46 |
|
|
Packit |
36dc46 |
use strict;
|
|
Packit |
36dc46 |
|
|
Packit |
36dc46 |
use Test::More tests => 6;
|
|
Packit |
36dc46 |
|
|
Packit |
36dc46 |
BEGIN {
|
|
Packit |
36dc46 |
use_ok('File::Path', qw(rmtree mkpath make_path remove_tree));
|
|
Packit |
36dc46 |
use_ok('File::Spec::Functions');
|
|
Packit |
36dc46 |
}
|
|
Packit |
36dc46 |
|
|
Packit |
36dc46 |
# find a place to work
|
|
Packit |
36dc46 |
my $tmp_base = catdir(
|
|
Packit |
36dc46 |
curdir(),
|
|
Packit |
36dc46 |
sprintf( 'taint-%x-%x-%x', time, $$, rand(99999) ),
|
|
Packit |
36dc46 |
);
|
|
Packit |
36dc46 |
|
|
Packit |
36dc46 |
# invent some names
|
|
Packit |
36dc46 |
my @dir = (
|
|
Packit |
36dc46 |
catdir($tmp_base, qw(a b)),
|
|
Packit |
36dc46 |
catdir($tmp_base, qw(a c)),
|
|
Packit |
36dc46 |
catdir($tmp_base, qw(z b)),
|
|
Packit |
36dc46 |
catdir($tmp_base, qw(z c)),
|
|
Packit |
36dc46 |
);
|
|
Packit |
36dc46 |
|
|
Packit |
36dc46 |
# create them
|
|
Packit |
36dc46 |
my @created = make_path(@dir);
|
|
Packit |
36dc46 |
is(scalar(@created), 7, "created list of directories");
|
|
Packit |
36dc46 |
|
|
Packit |
36dc46 |
my $count = rmtree($tmp_base, {error => \(my $err), result => \my $res});
|
|
Packit |
36dc46 |
is( $count, 7, 'rmtree under taint' );
|
|
Packit |
36dc46 |
is( scalar(@$err), 0, 'no errors' );
|
|
Packit |
36dc46 |
is( scalar(@$res), 7, 'seven items' );
|