41 lines
1.4 KiB
Perl
Executable file
41 lines
1.4 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
use Test::More;
|
|
use strict;
|
|
use warnings;
|
|
|
|
if (! -e "./test_opts3") {
|
|
plan skip_all => "./test_opts3 not compiled - please enable libtap library and/or extra-opts to test";
|
|
}
|
|
|
|
# array of argument arrays
|
|
# - First value is the expected return code
|
|
# - 2nd value is the NAGIOS_CONFIG_PATH
|
|
# TODO: looks like we look in default path after looking trough this variable - shall we?
|
|
# - 3rd value is the plugin name
|
|
# - 4th and up are arguments
|
|
my @TESTS = (
|
|
[3, '/nonexistent', 'prog_name', 'arg1', '--extra-opts', '--arg3', 'val2'],
|
|
[3, '.', 'prog_name', 'arg1', '--extra-opts=missing@./config-opts.ini', '--arg3', 'val2'],
|
|
[3, '', 'prog_name', 'arg1', '--extra-opts', 'missing@./config-opts.ini', '--arg3', 'val2'],
|
|
[3, '.', 'check_missing', 'arg1', '--extra-opts=@./config-opts.ini', '--arg3', 'val2'],
|
|
[3, '.', 'check_missing', 'arg1', '--extra-opts', '--arg3', 'val2'],
|
|
[0, '/tmp:/var:/nonexistent:.', 'check_tcp', 'arg1', '--extra-opts', '--arg3', 'val2'],
|
|
[0, '/usr/local/nagios/etc:.:/etc', 'check_missing', 'arg1', '--extra-opts=check_tcp', '--arg3', 'val2'],
|
|
);
|
|
|
|
plan tests => scalar(@TESTS);
|
|
|
|
my $count=1;
|
|
|
|
foreach my $args (@TESTS) {
|
|
my $rc = shift(@$args);
|
|
if (my $env = shift(@$args)) {
|
|
$ENV{"NAGIOS_CONFIG_PATH"} = $env;
|
|
} else {
|
|
delete($ENV{"NAGIOS_CONFIG_PATH"});
|
|
}
|
|
system {'./test_opts3'} @$args;
|
|
cmp_ok($?>>8, '==', $rc, "Extra-opts die " . $count++);
|
|
}
|
|
|