File: test_opts3.t

package info (click to toggle)
monitoring-plugins 2.4.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,772 kB
  • sloc: ansic: 76,213; sh: 13,717; perl: 7,655; makefile: 490
file content (40 lines) | stat: -rwxr-xr-x 1,416 bytes parent folder | download | duplicates (2)
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
#!/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 through 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++);
}