summaryrefslogtreecommitdiff
path: root/regress/usr.sbin/syslogd
diff options
context:
space:
mode:
authorAlexander Bluhm <bluhm@cvs.openbsd.org>2015-06-29 11:12:50 +0000
committerAlexander Bluhm <bluhm@cvs.openbsd.org>2015-06-29 11:12:50 +0000
commitd6b018580d53ef94568d5ccc139dc0440217f504 (patch)
tree3b0d16fdd8f88d0f7ac11278bc8c9967a3a27f7f /regress/usr.sbin/syslogd
parent222fbae5f43a2e6bd0a7be7ee1885a081a863216 (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.pl50
-rw-r--r--regress/usr.sbin/syslogd/args-block-host-quick.pl37
-rw-r--r--regress/usr.sbin/syslogd/args-block-host.pl37
-rw-r--r--regress/usr.sbin/syslogd/args-block-prog-host-quick.pl42
-rw-r--r--regress/usr.sbin/syslogd/args-block-prog-host.pl48
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;