summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-02-22 16:10:21 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2011-02-22 16:10:21 +0100
commit87bffff894a6ed82f126e6af33beaf53efb6b4c5 (patch)
treec2488d18bbc2830420902a52f250508715df1b38
parentb7ee1de6b0dbdc67bbb239f44719fb4a50054fb5 (diff)
downloadrsyslog-87bffff894a6ed82f126e6af33beaf53efb6b4c5.tar.gz
rsyslog-87bffff894a6ed82f126e6af33beaf53efb6b4c5.tar.xz
rsyslog-87bffff894a6ed82f126e6af33beaf53efb6b4c5.zip
added one more test for imuxsock to autmatted test suite
control character escaping is now also being tested
-rw-r--r--tests/Makefile.am10
-rwxr-xr-xtests/imuxsock_ccmiddle_root.sh18
-rwxr-xr-xtests/imuxsock_traillf_root.sh2
-rw-r--r--tests/resultdata/imuxsock_ccmiddle.log1
-rw-r--r--tests/syslog_inject.c28
-rw-r--r--tests/syslog_lf.c9
-rw-r--r--tests/testsuites/imuxsock_ccmiddle_root.conf7
7 files changed, 62 insertions, 13 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 0ea66b0f..f66270ab 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,6 +1,6 @@
if ENABLE_TESTBENCH
TESTRUNS = rt_init rscript
-check_PROGRAMS = $(TESTRUNS) ourtail nettester tcpflood chkseq msleep randomgen diagtalker uxsockrcvr syslog_caller syslog_lf
+check_PROGRAMS = $(TESTRUNS) ourtail nettester tcpflood chkseq msleep randomgen diagtalker uxsockrcvr syslog_caller syslog_inject
TESTS = $(TESTRUNS) cfg.sh \
arrayqueue.sh \
linkedlistqueue.sh \
@@ -48,6 +48,7 @@ TESTS = $(TESTRUNS) cfg.sh \
dircreate_off.sh \
imuxsock_logger_root.sh \
imuxsock_traillf_root.sh \
+ imuxsock_ccmiddle_root.sh \
queue-persist.sh
if ENABLE_IMPTCP
@@ -324,6 +325,9 @@ EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
imuxsock_traillf_root.sh \
testsuites/imuxsock_traillf_root.conf \
resultdata/imuxsock_traillf.log \
+ imuxsock_ccmiddle_root.sh \
+ testsuites/imuxsock_ccmiddle_root.conf \
+ resultdata/imuxsock_ccmiddle.log \
cfg.sh
ourtail_SOURCES = ourtail.c
@@ -339,8 +343,8 @@ tcpflood_LDADD = $(SOL_LIBS)
syslog_caller_SOURCES = syslog_caller.c
syslog_caller_LDADD = $(SOL_LIBS)
-syslog_lf_SOURCES = syslog_lf.c
-syslog_lf_LDADD = $(SOL_LIBS)
+syslog_inject_SOURCES = syslog_inject.c
+syslog_inject_LDADD = $(SOL_LIBS)
diagtalker_SOURCES = diagtalker.c
diagtalker_LDADD = $(SOL_LIBS)
diff --git a/tests/imuxsock_ccmiddle_root.sh b/tests/imuxsock_ccmiddle_root.sh
new file mode 100755
index 00000000..07d23c21
--- /dev/null
+++ b/tests/imuxsock_ccmiddle_root.sh
@@ -0,0 +1,18 @@
+# note: we must be root and no other syslogd running in order to
+# carry out this test
+echo \[imuxsock_ccmiddle_root.sh\]: test trailing LF handling in imuxsock
+echo This test must be run as root with no other active syslogd
+source $srcdir/diag.sh init
+source $srcdir/diag.sh startup imuxsock_ccmiddle_root.conf
+# send a message with trailing LF
+$srcdir/syslog_inject -c
+# the sleep below is needed to prevent too-early termination of rsyslogd
+$srcdir/msleep 100
+source $srcdir/diag.sh shutdown-when-empty # shut down rsyslogd when done processing messages
+source $srcdir/diag.sh wait-shutdown # we need to wait until rsyslogd is finished!
+cmp rsyslog.out.log $srcdir/resultdata/imuxsock_ccmiddle.log
+if [ ! $? -eq 0 ]; then
+echo "imuxsock_ccmiddle_root.sh failed"
+exit 1
+fi;
+source $srcdir/diag.sh exit
diff --git a/tests/imuxsock_traillf_root.sh b/tests/imuxsock_traillf_root.sh
index c838e0bd..02fb6d2c 100755
--- a/tests/imuxsock_traillf_root.sh
+++ b/tests/imuxsock_traillf_root.sh
@@ -5,7 +5,7 @@ echo This test must be run as root with no other active syslogd
source $srcdir/diag.sh init
source $srcdir/diag.sh startup imuxsock_traillf_root.conf
# send a message with trailing LF
-$srcdir/syslog_lf
+$srcdir/syslog_inject -l
# the sleep below is needed to prevent too-early termination of rsyslogd
$srcdir/msleep 100
source $srcdir/diag.sh shutdown-when-empty # shut down rsyslogd when done processing messages
diff --git a/tests/resultdata/imuxsock_ccmiddle.log b/tests/resultdata/imuxsock_ccmiddle.log
new file mode 100644
index 00000000..d2531f9d
--- /dev/null
+++ b/tests/resultdata/imuxsock_ccmiddle.log
@@ -0,0 +1 @@
+ test 1#0112
diff --git a/tests/syslog_inject.c b/tests/syslog_inject.c
new file mode 100644
index 00000000..a5d77b1a
--- /dev/null
+++ b/tests/syslog_inject.c
@@ -0,0 +1,28 @@
+/* This tool deliberately logs a message with the a trailing LF */
+/* Options:
+ * -l: inject linefeed at end of message
+ * -c: inject control character in middle of message
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <syslog.h>
+#include <string.h>
+
+static inline void usage(void) {
+ fprintf(stderr, "Usage: syslog_inject [-l] [-c]\n");
+ exit(1);
+}
+
+int main(int argc, char *argv[])
+{
+ if(argc != 2)
+ usage();
+ if(!strcmp(argv[1], "-l"))
+ syslog(LOG_NOTICE, "test\n");
+ else if(!strcmp(argv[1], "-c"))
+ syslog(LOG_NOTICE, "test 1\t2");
+ else
+ usage();
+
+ return 0;
+}
diff --git a/tests/syslog_lf.c b/tests/syslog_lf.c
deleted file mode 100644
index a140244e..00000000
--- a/tests/syslog_lf.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* This tool deliberately logs a message with the a trailing LF */
-#include <stdio.h>
-#include <syslog.h>
-
-int main()
-{
- syslog(LOG_NOTICE, "test\n");
- return 0;
-}
diff --git a/tests/testsuites/imuxsock_ccmiddle_root.conf b/tests/testsuites/imuxsock_ccmiddle_root.conf
new file mode 100644
index 00000000..8336ecfa
--- /dev/null
+++ b/tests/testsuites/imuxsock_ccmiddle_root.conf
@@ -0,0 +1,7 @@
+# rgerhards, 2011-02-21
+$IncludeConfig diag-common.conf
+
+$ModLoad ../plugins/imuxsock/.libs/imuxsock
+
+$template outfmt,"%msg:%\n"
+*.notice ./rsyslog.out.log;outfmt