File: taint.t

package info (click to toggle)
perl 5.24.1-3%2Bdeb9u7
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 107,108 kB
  • sloc: perl: 559,649; ansic: 293,918; sh: 67,316; pascal: 7,632; cpp: 3,895; makefile: 2,436; xml: 2,410; yacc: 989; sed: 6; lisp: 1
file content (35 lines) | stat: -rw-r--r-- 780 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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' );