diff options
Diffstat (limited to 'lib/tests/test_opts3.t')
-rwxr-xr-x | lib/tests/test_opts3.t | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/tests/test_opts3.t b/lib/tests/test_opts3.t new file mode 100755 index 0000000..47ec26b --- /dev/null +++ b/lib/tests/test_opts3.t | |||
@@ -0,0 +1,31 @@ | |||
1 | #!/usr/bin/perl | ||
2 | use Test::More; | ||
3 | use strict; | ||
4 | use warnings; | ||
5 | |||
6 | if (! -e "./test_opts3") { | ||
7 | plan skip_all => "./test_opts3 not compiled - please install tap library and/or enable parse-ini to test"; | ||
8 | } | ||
9 | |||
10 | # array of argument arrays | ||
11 | # - first value is the NAGIOS_CONFIG_PATH | ||
12 | # - 2nd value is the plugin name | ||
13 | # - 3rc and up are arguments | ||
14 | my @TESTS = ( | ||
15 | ['/nonexistent', 'prog_name', 'arg1', '--extra-opts', '--arg3', 'val2'], | ||
16 | ['.', 'prog_name', 'arg1', '--extra-opts=missing@./config-opts.ini', '--arg3', 'val2'], | ||
17 | ['.', 'prog_name', 'arg1', '--extra-opts', 'missing@./config-opts.ini', '--arg3', 'val2'], | ||
18 | ['.', 'check_missing', 'arg1', '--extra-opts=@./config-opts.ini', '--arg3', 'val2'], | ||
19 | ['.', 'check_missing', 'arg1', '--extra-opts', '--arg3', 'val2'], | ||
20 | ); | ||
21 | |||
22 | plan tests => scalar(@TESTS); | ||
23 | |||
24 | my $count=1; | ||
25 | |||
26 | foreach my $args (@TESTS) { | ||
27 | $ENV{"NAGIOS_CONFIG_PATH"} = shift(@$args); | ||
28 | system {'./test_opts3'} @$args; | ||
29 | cmp_ok($?>>8, '==', 3, "Extra-opts die " . $count++); | ||
30 | } | ||
31 | |||