summaryrefslogtreecommitdiff
path: root/regress/usr.sbin/syslogd/args-block-duplicate.pl
diff options
context:
space:
mode:
Diffstat (limited to 'regress/usr.sbin/syslogd/args-block-duplicate.pl')
-rw-r--r--regress/usr.sbin/syslogd/args-block-duplicate.pl50
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;