diff options
author | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2015-06-29 11:12:50 +0000 |
---|---|---|
committer | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2015-06-29 11:12:50 +0000 |
commit | d6b018580d53ef94568d5ccc139dc0440217f504 (patch) | |
tree | 3b0d16fdd8f88d0f7ac11278bc8c9967a3a27f7f /regress/usr.sbin/syslogd | |
parent | 222fbae5f43a2e6bd0a7be7ee1885a081a863216 (diff) |
Add test for blocks in syslog.conf constructed with the +host and
++host and +* keyword.
Diffstat (limited to 'regress/usr.sbin/syslogd')
-rw-r--r-- | regress/usr.sbin/syslogd/args-block-duplicate.pl | 50 | ||||
-rw-r--r-- | regress/usr.sbin/syslogd/args-block-host-quick.pl | 37 | ||||
-rw-r--r-- | regress/usr.sbin/syslogd/args-block-host.pl | 37 | ||||
-rw-r--r-- | regress/usr.sbin/syslogd/args-block-prog-host-quick.pl | 42 | ||||
-rw-r--r-- | regress/usr.sbin/syslogd/args-block-prog-host.pl | 48 |
5 files changed, 214 insertions, 0 deletions
diff --git a/regress/usr.sbin/syslogd/args-block-duplicate.pl b/regress/usr.sbin/syslogd/args-block-duplicate.pl new file mode 100644 index 00000000000..b8f8a364ee3 --- /dev/null +++ b/regress/usr.sbin/syslogd/args-block-duplicate.pl @@ -0,0 +1,50 @@ +# The client writes a message to Sys::Syslog native method. +# The syslogd writes into duplicate files depending on program and hostname. +# The syslogd writes it into a file and through a pipe. +# The syslogd passes it via UDP to the loghost. +# The server receives the message on its UDP socket. +# Find the message in client, file, pipe, syslogd, server log. +# Check that the message exaclty appears in the files allowed by both blocks. + +use strict; +use warnings; +use Cwd; +use Sys::Hostname; + +my $objdir = getcwd(); +(my $hostname = hostname()) =~ s/\..*//; + +our %args = ( + syslogd => { + conf => <<"EOF", +!nonexist ++nonexist +*.* $objdir/file-0.log +*.* $objdir/file-1.log +*.* $objdir/file-2.log +*.* $objdir/file-3.log +!syslogd-regress +*.* $objdir/file-1.log +*.* $objdir/file-2.log +*.* $objdir/file-4.log +*.* $objdir/file-5.log ++$hostname +*.* $objdir/file-2.log +*.* $objdir/file-3.log +*.* $objdir/file-5.log +*.* $objdir/file-6.log +EOF + }, + # exactly the files in the last block get the log message + multifile => [ + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 1 } }, + { loggrep => { get_testlog() => 1 } }, + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 1 } }, + { loggrep => { get_testlog() => 1 } }, + ], +); + +1; diff --git a/regress/usr.sbin/syslogd/args-block-host-quick.pl b/regress/usr.sbin/syslogd/args-block-host-quick.pl new file mode 100644 index 00000000000..bcbd3aae617 --- /dev/null +++ b/regress/usr.sbin/syslogd/args-block-host-quick.pl @@ -0,0 +1,37 @@ +# The client writes a message to Sys::Syslog native method. +# The syslogd writes into multiple files depending on hostname. +# The syslogd writes it into a file and through a pipe. +# The syslogd passes it via UDP to the loghost. +# The server receives the message on its UDP socket. +# Find the message in client, file, pipe, syslogd, server log. +# Check that the quick message appears only in one log file. + +use strict; +use warnings; +use Cwd; +use Sys::Hostname; + +my $objdir = getcwd(); +(my $hostname = hostname()) =~ s/\..*//; + +our %args = ( + syslogd => { + conf => <<"EOF", ++nonexist +*.* $objdir/file-0.log +++$hostname +*.* $objdir/file-1.log +*.* $objdir/file-2.log ++* +*.* $objdir/file-3.log +EOF + }, + multifile => [ + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 1 } }, + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 0 } }, + ], +); + +1; diff --git a/regress/usr.sbin/syslogd/args-block-host.pl b/regress/usr.sbin/syslogd/args-block-host.pl new file mode 100644 index 00000000000..8082ea37254 --- /dev/null +++ b/regress/usr.sbin/syslogd/args-block-host.pl @@ -0,0 +1,37 @@ +# The client writes a message to Sys::Syslog native method. +# The syslogd writes into multiple files depending on hostname. +# The syslogd writes it into a file and through a pipe. +# The syslogd passes it via UDP to the loghost. +# The server receives the message on its UDP socket. +# Find the message in client, file, pipe, syslogd, server log. +# Check that the message appears in the correct log files. + +use strict; +use warnings; +use Cwd; +use Sys::Hostname; + +my $objdir = getcwd(); +(my $hostname = hostname()) =~ s/\..*//; + +our %args = ( + syslogd => { + conf => <<"EOF", ++nonexist +*.* $objdir/file-0.log ++$hostname +*.* $objdir/file-1.log +*.* $objdir/file-2.log ++* +*.* $objdir/file-3.log +EOF + }, + multifile => [ + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 1 } }, + { loggrep => { get_testlog() => 1 } }, + { loggrep => { get_testlog() => 1 } }, + ], +); + +1; diff --git a/regress/usr.sbin/syslogd/args-block-prog-host-quick.pl b/regress/usr.sbin/syslogd/args-block-prog-host-quick.pl new file mode 100644 index 00000000000..d8edff60bd6 --- /dev/null +++ b/regress/usr.sbin/syslogd/args-block-prog-host-quick.pl @@ -0,0 +1,42 @@ +# The client writes a message to Sys::Syslog native method. +# The syslogd writes into multiple files depending on program and hostname. +# The syslogd writes it into a file and through a pipe. +# The syslogd passes it via UDP to the loghost. +# The server receives the message on its UDP socket. +# Find the message in client, file, pipe, syslogd, server log. +# Check that the quick message appears only in in log files. + +use strict; +use warnings; +use Cwd; +use Sys::Hostname; + +my $objdir = getcwd(); +(my $hostname = hostname()) =~ s/\..*//; + +our %args = ( + syslogd => { + conf => <<"EOF", +!nonexist ++nonexist +*.* $objdir/file-0.log +!!syslogd-regress +*.* $objdir/file-1.log ++$hostname +*.* $objdir/file-2.log +*.* $objdir/file-3.log +!* ++* +*.* $objdir/file-4.log +EOF + }, + multifile => [ + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 1 } }, + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 0 } }, + ], +); + +1; diff --git a/regress/usr.sbin/syslogd/args-block-prog-host.pl b/regress/usr.sbin/syslogd/args-block-prog-host.pl new file mode 100644 index 00000000000..e3176e4427c --- /dev/null +++ b/regress/usr.sbin/syslogd/args-block-prog-host.pl @@ -0,0 +1,48 @@ +# The client writes a message to Sys::Syslog native method. +# The syslogd writes into multiple files depending on program and hostname. +# The syslogd writes it into a file and through a pipe. +# The syslogd passes it via UDP to the loghost. +# The server receives the message on its UDP socket. +# Find the message in client, file, pipe, syslogd, server log. +# Check that the message appears in the correct log files. + +use strict; +use warnings; +use Cwd; +use Sys::Hostname; + +my $objdir = getcwd(); +(my $hostname = hostname()) =~ s/\..*//; + +our %args = ( + syslogd => { + conf => <<"EOF", +!nonexist ++nonexist +*.* $objdir/file-0.log +!syslogd-regress +*.* $objdir/file-1.log ++$hostname +*.* $objdir/file-2.log +!nonexist +*.* $objdir/file-3.log ++nonexist +*.* $objdir/file-4.log +!* +*.* $objdir/file-5.log ++* +*.* $objdir/file-6.log +EOF + }, + multifile => [ + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 1 } }, + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 0 } }, + { loggrep => { get_testlog() => 1 } }, + ], +); + +1; |