summaryrefslogtreecommitdiff
path: root/cpan/File-Path/t/taint.t
diff options
context:
space:
mode:
Diffstat (limited to 'cpan/File-Path/t/taint.t')
-rw-r--r--cpan/File-Path/t/taint.t35
1 files changed, 35 insertions, 0 deletions
diff --git a/cpan/File-Path/t/taint.t b/cpan/File-Path/t/taint.t
new file mode 100644
index 0000000000..8198600411
--- /dev/null
+++ b/cpan/File-Path/t/taint.t
@@ -0,0 +1,35 @@
+#! perl -T
+
+# Taint tests for module File::Path
+
+use strict;
+
+use Test::More tests => 6;
+
+BEGIN {
+ use_ok('File::Path', qw(rmtree mkpath make_path remove_tree));
+ use_ok('File::Spec::Functions');
+}
+
+# find a place to work
+my $tmp_base = catdir(
+ curdir(),
+ sprintf( 'taint-%x-%x-%x', time, $$, rand(99999) ),
+);
+
+# invent some names
+my @dir = (
+ catdir($tmp_base, qw(a b)),
+ catdir($tmp_base, qw(a c)),
+ catdir($tmp_base, qw(z b)),
+ catdir($tmp_base, qw(z c)),
+);
+
+# create them
+my @created = make_path(@dir);
+is(scalar(@created), 7, "created list of directories");
+
+my $count = rmtree($tmp_base, {error => \(my $err), result => \my $res});
+is( $count, 7, 'rmtree under taint' );
+is( scalar(@$err), 0, 'no errors' );
+is( scalar(@$res), 7, 'seven items' );