summaryrefslogtreecommitdiffstats
path: root/lib/tests/test_opts3.t
blob: 47ec26b3ab863cf6f89911e461eadd06dfc9537d (plain)
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
#!/usr/bin/perl
use Test::More;
use strict;
use warnings;

if (! -e "./test_opts3") {
	plan skip_all => "./test_opts3 not compiled - please install tap library and/or enable parse-ini to test";
}

# array of argument arrays
#   - first value is the NAGIOS_CONFIG_PATH
#   - 2nd value is the plugin name
#   - 3rc and up are arguments
my @TESTS = (
	['/nonexistent', 'prog_name', 'arg1', '--extra-opts', '--arg3', 'val2'],
	['.', 'prog_name', 'arg1', '--extra-opts=missing@./config-opts.ini', '--arg3', 'val2'],
	['.', 'prog_name', 'arg1', '--extra-opts', 'missing@./config-opts.ini', '--arg3', 'val2'],
	['.', 'check_missing', 'arg1', '--extra-opts=@./config-opts.ini', '--arg3', 'val2'],
	['.', 'check_missing', 'arg1', '--extra-opts', '--arg3', 'val2'],
);

plan tests => scalar(@TESTS);

my $count=1;

foreach my $args (@TESTS) {
  $ENV{"NAGIOS_CONFIG_PATH"} = shift(@$args);
	system {'./test_opts3'} @$args;
	cmp_ok($?>>8, '==', 3, "Extra-opts die " . $count++);
}