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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
#!./perl
#
# basic.t - basic tests for AppConfig::Std
#
# the tests all use testscript.pl
#
my @expected;
my $e = '';
my $args = '';
my $output;
while (<DATA>)
{
if (/^ARGS:(.*)$/) {
$args = $1;
}
elsif (/^####$/) {
push(@expected, [$args, $e]);
$args = '';
$e = '';
}
else {
$e .= $_;
}
}
print "1..", int(@expected), "\n";
for ($i = 1; $i <= int(@expected); ++$i) {
$args = $expected[$i-1]->[0];
$output = `$^X -Iblib/lib t/testscript.pl $args 2>&1`;
if ($output eq $expected[$i-1]->[1]) {
print "ok $i\n";
}
else {
print STDERR "OUTPUT:\n$output\nEXPECTED:\n", $expected[$i-1]->[1], "\n";
print "not ok $i\n";
}
}
exit 0;
__DATA__
ARGS:
Start of testscript.pl [AppConfig::Std 1.10]
End of testscript.pl
####
ARGS: -version
Start of testscript.pl [AppConfig::Std 1.10]
1.0
####
ARGS: -verbose
Start of testscript.pl [AppConfig::Std 1.10]
Verbose output enabled
End of testscript.pl
####
ARGS: -debug
Start of testscript.pl [AppConfig::Std 1.10]
Debug output enabled
End of testscript.pl
####
ARGS: -verbose -debug
Start of testscript.pl [AppConfig::Std 1.10]
Verbose output enabled
Debug output enabled
End of testscript.pl
####
ARGS: -foobar
Start of testscript.pl [AppConfig::Std 1.10]
Foobar flag ON
End of testscript.pl
####
ARGS: -foobar -verbose -debug
Start of testscript.pl [AppConfig::Std 1.10]
Verbose output enabled
Debug output enabled
Foobar flag ON
End of testscript.pl
####
ARGS: -color red
Start of testscript.pl [AppConfig::Std 1.10]
A color of red was given
End of testscript.pl
####
ARGS: -color
Start of testscript.pl [AppConfig::Std 1.10]
-color expects an argument
End of testscript.pl
####
ARGS: -color blue -foobar -verbose -debug
Start of testscript.pl [AppConfig::Std 1.10]
Verbose output enabled
Debug output enabled
Foobar flag ON
A color of blue was given
End of testscript.pl
####
ARGS: -country
Start of testscript.pl [AppConfig::Std 1.10]
-country expects an argument
End of testscript.pl
####
ARGS: -country Sweden
Start of testscript.pl [AppConfig::Std 1.10]
The country was set to Sweden.
End of testscript.pl
####
ARGS: -help
Start of testscript.pl [AppConfig::Std 1.10]
Usage:
testscript.pl [ -version | -debug | -verbose | -doc | -help ]
[ -color C | -country C | -foobar ]
Options:
-color C
Provide a color.
-country C
Specify a country.
-foobar
Turn on the foobar flag.
-doc
Display the full documentation for testscript.pl.
-verbose or -v
Display verbose information as testscript.pl runs.
-version
Display the version of testscript.pl.
-debug
Display debugging information as testscript.pl runs.
####
|