diff options
| author | RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> | 2023-02-19 14:39:08 +0100 |
|---|---|---|
| committer | RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> | 2023-02-19 14:39:08 +0100 |
| commit | 74b6984047d330a3cc7cb7f63645849fe7676c63 (patch) | |
| tree | 65a26800103d8d66f7e6cb4acfbfc9f315ec750b /plugins-scripts/t | |
| parent | 423284edfa980fc3fdb51ab20af96685a988ba97 (diff) | |
| parent | c07206f2ccc2356aa74bc6813a94c2190017d44e (diff) | |
| download | monitoring-plugins-74b6984047d330a3cc7cb7f63645849fe7676c63.tar.gz | |
Merge branch 'master' into check_icmp_cleanup
Diffstat (limited to 'plugins-scripts/t')
| -rw-r--r-- | plugins-scripts/t/check_log.t | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/plugins-scripts/t/check_log.t b/plugins-scripts/t/check_log.t new file mode 100644 index 00000000..b66e0fd8 --- /dev/null +++ b/plugins-scripts/t/check_log.t | |||
| @@ -0,0 +1,82 @@ | |||
| 1 | #!/usr/bin/perl -w -I .. | ||
| 2 | # | ||
| 3 | # check_log tests | ||
| 4 | # | ||
| 5 | # | ||
| 6 | |||
| 7 | use strict; | ||
| 8 | use Test::More; | ||
| 9 | use NPTest; | ||
| 10 | |||
| 11 | my $tests = 18; | ||
| 12 | plan tests => $tests; | ||
| 13 | |||
| 14 | my $firstTimeOutput ='/^Log check data initialized/'; | ||
| 15 | my $okOutput = '/^Log check ok - 0 pattern matches found/'; | ||
| 16 | my $criticalOutput = '/^\(\d+\) < /'; | ||
| 17 | my $multilineOutput = '/\(3\) <.*\n.*\n.*$/'; | ||
| 18 | my $unknownOutput = '/^Usage: /'; | ||
| 19 | my $unknownArgOutput = '/^Unknown argument: /'; | ||
| 20 | my $bothRegexOutput = '/^Can not use extended and perl regex/'; | ||
| 21 | |||
| 22 | my $result; | ||
| 23 | my $temp_file = "/tmp/check_log.tmp"; | ||
| 24 | my $oldlog = "/tmp/oldlog.tmp"; | ||
| 25 | |||
| 26 | open(FH, '>', $temp_file) or die $!; | ||
| 27 | close(FH); | ||
| 28 | |||
| 29 | $result = NPTest->testCmd("./check_log"); | ||
| 30 | cmp_ok( $result->return_code, '==', 3, "Missing parameters" ); | ||
| 31 | like ( $result->output, $unknownOutput, "Output for unknown correct" ); | ||
| 32 | |||
| 33 | $result = NPTest->testCmd("./check_log -f"); | ||
| 34 | cmp_ok( $result->return_code, '==', 3, "Wrong parameters" ); | ||
| 35 | like ( $result->output, $unknownArgOutput, "Output for unknown correct" ); | ||
| 36 | |||
| 37 | $result = NPTest->testCmd("./check_log -F ".$temp_file." -O ".$oldlog." -q 'Simple match' -e -p"); | ||
| 38 | cmp_ok( $result->return_code, '==', 3, "Both regex parameters" ); | ||
| 39 | like ( $result->output, $bothRegexOutput, "Output for unknown correct" ); | ||
| 40 | |||
| 41 | $result = NPTest->testCmd("./check_log -F ".$temp_file." -O ".$oldlog." -q 'Simple match'"); | ||
| 42 | cmp_ok( $result->return_code, '==', 0, "First time executing" ); | ||
| 43 | like ( $result->output, $firstTimeOutput, "Output for first time executing correct" ); | ||
| 44 | |||
| 45 | open(FH, '>>', $temp_file) or die $!; | ||
| 46 | print FH "This is some text, that should not match\n"; | ||
| 47 | close(FH); | ||
| 48 | |||
| 49 | $result = NPTest->testCmd("./check_log -F ".$temp_file." -O ".$oldlog." -q 'No match'"); | ||
| 50 | cmp_ok( $result->return_code, '==', 0, "No match" ); | ||
| 51 | like ( $result->output, $okOutput, "Output for no match correct" ); | ||
| 52 | |||
| 53 | open(FH, '>>', $temp_file) or die $!; | ||
| 54 | print FH "This text should match\n"; | ||
| 55 | close(FH); | ||
| 56 | |||
| 57 | $result = NPTest->testCmd("./check_log -F ".$temp_file." -O ".$oldlog." -q 'should match'"); | ||
| 58 | cmp_ok( $result->return_code, '==', 2, "Pattern match" ); | ||
| 59 | like ( $result->output, $criticalOutput, "Output for match correct" ); | ||
| 60 | |||
| 61 | open(FH, '>>', $temp_file) or die $!; | ||
| 62 | print FH "This text should not match, because it is excluded\n"; | ||
| 63 | close(FH); | ||
| 64 | |||
| 65 | $result = NPTest->testCmd("./check_log -F ".$temp_file." -O ".$oldlog." -q 'match' --exclude 'because'"); | ||
| 66 | cmp_ok( $result->return_code, '==', 0, "Exclude a pattern" ); | ||
| 67 | like ( $result->output, $okOutput, "Output for no match correct" ); | ||
| 68 | |||
| 69 | open(FH, '>>', $temp_file) or die $!; | ||
| 70 | print FH "Trying\nwith\nmultiline\nignore me\n"; | ||
| 71 | close(FH); | ||
| 72 | |||
| 73 | $result = NPTest->testCmd("./check_log -F ".$temp_file." -O ".$oldlog." -q 'Trying\\|with\\|multiline\\|ignore' --exclude 'me' --all"); | ||
| 74 | cmp_ok( $result->return_code, '==', 2, "Multiline pattern match with --all" ); | ||
| 75 | like ( $result->output, $multilineOutput, "Output for multiline match correct" ); | ||
| 76 | |||
| 77 | $result = NPTest->testCmd("./check_log -F ".$temp_file." -O ".$oldlog." -q 'match' -a"); | ||
| 78 | cmp_ok( $result->return_code, '==', 0, "Non matching --all" ); | ||
| 79 | like ( $result->output, $okOutput, "Output for no match correct" ); | ||
| 80 | |||
| 81 | unlink($oldlog); | ||
| 82 | unlink($temp_file); | ||
