diff options
Diffstat (limited to 'regress/usr.sbin/syslogd/args-block-duplicate.pl')
-rw-r--r-- | regress/usr.sbin/syslogd/args-block-duplicate.pl | 50 |
1 files changed, 50 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; |