Commit | Line | Data |
e4fc8a1e |
1 | BEGIN { |
2 | if( $ENV{PERL_CORE} ) { |
3 | chdir 't'; |
4 | @INC = ('../lib', 'lib'); |
5 | } |
6 | else { |
7 | unshift @INC, 't/lib'; |
8 | } |
9 | } |
10 | |
11 | use strict; |
12 | use File::Spec; |
13 | use Test::More; |
14 | plan skip_all => "Not adapted to perl core" if $ENV{PERL_CORE}; |
15 | plan skip_all => "Not installing prove" if -e "t/SKIP-PROVE"; |
16 | |
5b1ebecd |
17 | plan tests => 8; |
e4fc8a1e |
18 | |
19 | my $blib = File::Spec->catfile( File::Spec->curdir, "blib" ); |
20 | my $blib_lib = File::Spec->catfile( $blib, "lib" ); |
21 | my $blib_arch = File::Spec->catfile( $blib, "arch" ); |
22 | my $prove = File::Spec->catfile( $blib, "script", "prove" ); |
20f9f807 |
23 | $prove = "$^X $prove"; |
e4fc8a1e |
24 | |
25 | CAPITAL_TAINT: { |
26 | local $ENV{PROVE_SWITCHES}; |
60e33a80 |
27 | |
e4fc8a1e |
28 | my @actual = qx/$prove -Ifirst -D -I second -Ithird -Tvdb/; |
29 | my @expected = ( "# \$Test::Harness::Switches: -T -I$blib_arch -I$blib_lib -Ifirst -Isecond -Ithird\n" ); |
42d29bac |
30 | is_deeply( \@actual, \@expected, "Capital taint flags OK" ); |
e4fc8a1e |
31 | } |
32 | |
33 | LOWERCASE_TAINT: { |
34 | local $ENV{PROVE_SWITCHES}; |
60e33a80 |
35 | |
e4fc8a1e |
36 | my @actual = qx/$prove -dD -Ifirst -I second -t -Ithird -vb/; |
37 | my @expected = ( "# \$Test::Harness::Switches: -t -I$blib_arch -I$blib_lib -Ifirst -Isecond -Ithird\n" ); |
42d29bac |
38 | is_deeply( \@actual, \@expected, "Lowercase taint OK" ); |
e4fc8a1e |
39 | } |
40 | |
41 | PROVE_SWITCHES: { |
42 | local $ENV{PROVE_SWITCHES} = "-dvb -I fark"; |
60e33a80 |
43 | |
e4fc8a1e |
44 | my @actual = qx/$prove -Ibork -Dd/; |
45 | my @expected = ( "# \$Test::Harness::Switches: -I$blib_arch -I$blib_lib -Ifark -Ibork\n" ); |
42d29bac |
46 | is_deeply( \@actual, \@expected, "PROVE_SWITCHES OK" ); |
e4fc8a1e |
47 | } |
48 | |
60e33a80 |
49 | PROVE_SWITCHES_L: { |
60e33a80 |
50 | my @actual = qx/$prove -l -Ibongo -Dd/; |
51 | my @expected = ( "# \$Test::Harness::Switches: -Ilib -Ibongo\n" ); |
42d29bac |
52 | is_deeply( \@actual, \@expected, "PROVE_SWITCHES OK" ); |
60e33a80 |
53 | } |
54 | |
55 | PROVE_SWITCHES_LB: { |
60e33a80 |
56 | my @actual = qx/$prove -lb -Dd/; |
57 | my @expected = ( "# \$Test::Harness::Switches: -Ilib -I$blib_arch -I$blib_lib\n" ); |
42d29bac |
58 | is_deeply( \@actual, \@expected, "PROVE_SWITCHES OK" ); |
e4fc8a1e |
59 | } |
5b1ebecd |
60 | |
61 | PROVE_VERSION: { |
62 | # This also checks that the prove $VERSION is in sync with Test::Harness's $VERSION |
63 | local $/ = undef; |
64 | |
65 | use_ok( 'Test::Harness' ); |
66 | |
67 | my $thv = $Test::Harness::VERSION; |
68 | my @actual = qx/$prove --version/; |
69 | is( scalar @actual, 1, 'Only 1 line returned' ); |
70 | like( $actual[0], qq{/^\Qprove v$thv, using Test::Harness v$thv and Perl v5\E/} ); |
71 | } |