File: taint.t

package info (click to toggle)
libmodule-runtime-perl 0.018-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 292 kB
  • sloc: perl: 264; makefile: 2
file content (33 lines) | stat: -rw-r--r-- 785 bytes parent folder | download
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
#!perl -T
# above line is required to enable taint mode

use warnings;
use strict;

BEGIN {
    if(eval { eval("1".substr($^X,0,0)) }) {
        require Test::More;
        Test::More::plan(skip_all =>
            "tainting not supported on this Perl");
    }
}

use Test::More tests => 5;

BEGIN {
    use_ok "Module::Runtime",
        qw(require_module use_module use_package_optimistically);
}

unshift @INC, "./t/lib";
my $tainted_modname = substr($^X, 0, 0) . "t::Simple";
eval { require_module($tainted_modname) };
like $@, qr/\AInsecure dependency /;
eval { use_module($tainted_modname) };
like $@, qr/\AInsecure dependency /;
eval { use_package_optimistically($tainted_modname) };
like $@, qr/\AInsecure dependency /;
eval { require_module("Module::Runtime") };
is $@, "";

1;