Blame t/taint.t

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' );