summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-05-25 15:41:45 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-05-25 15:41:45 +0200
commitde51fab0ff9647954fe6540ee77252e9ea317888 (patch)
tree09682f3e09c7d3768b9c66979a4d78796f59e5f4
parentc7e8282b9eb9d6452f7678c3f7c1e06337a3bb0a (diff)
parent78bc40e1af312d076c4cc2225c9281b6725217f6 (diff)
downloadrsyslog-de51fab0ff9647954fe6540ee77252e9ea317888.tar.gz
rsyslog-de51fab0ff9647954fe6540ee77252e9ea317888.tar.xz
rsyslog-de51fab0ff9647954fe6540ee77252e9ea317888.zip
Merge branch 'master' into ultra-reliable
Conflicts: tests/Makefile.am
-rw-r--r--doc/status.html8
-rw-r--r--tests/Makefile.am7
-rwxr-xr-xtests/memq-persist.sh43
-rw-r--r--tests/testsuites/memq-persist1.conf25
-rw-r--r--tests/testsuites/memq-persist2.conf20
5 files changed, 98 insertions, 5 deletions
diff --git a/doc/status.html b/doc/status.html
index c8608f73..4e8f1a5f 100644
--- a/doc/status.html
+++ b/doc/status.html
@@ -2,12 +2,12 @@
<html><head><title>rsyslog status page</title></head>
<body>
<h2>rsyslog status page</h2>
-<p>This page reflects the status as of 2009-04-21.</p>
+<p>This page reflects the status as of 2009-05-25.</p>
<h2>Current Releases</h2>
-<p><b>development:</b> 4.3.0 [2009-04-17] -
-<a href="http://www.rsyslog.com/Article366.phtml">change log</a> -
-<a href="http://www.rsyslog.com/Downloads-req-viewdownloaddetails-lid-156.phtml">download</a>
+<p><b>development:</b> 4.3.1 [2009-05-25] -
+<a href="http://www.rsyslog.com/Article372.phtml">change log</a> -
+<a href="http://www.rsyslog.com/Downloads-req-viewdownloaddetails-lid-159.phtml">download</a>
<br><b>beta:</b> 3.21.11 [2009-04-03] -
<a href="http://www.rsyslog.com/Article358.phtml">change log</a> -
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d581aeb2..d422debc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,7 +1,9 @@
TESTRUNS = rt_init rscript
check_PROGRAMS = $(TESTRUNS) ourtail nettester tcpflood chkseq
TESTS = $(TESTRUNS) cfg.sh arrayqueue.sh linkedlistqueue.sh da-mainmsg-q.sh \
- diskqueue.sh manytcp.sh
+ diskqueue.sh manytcp.sh \
+ memq-persist.sh
+
if ENABLE_OMSTDOUT
TESTS += omod-if-array.sh parsertest.sh inputname.sh fieldtest.sh
endif
@@ -64,6 +66,9 @@ EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
testsuites/1.inputname_imtcp_12516 \
omod-if-array.sh \
waitqueueempty.sh \
+ memq-persist.sh \
+ testsuites/memq-persist1.sh \
+ testsuites/memq-persist2.sh \
DiagTalker.java \
cfg.sh
diff --git a/tests/memq-persist.sh b/tests/memq-persist.sh
new file mode 100755
index 00000000..108cba57
--- /dev/null
+++ b/tests/memq-persist.sh
@@ -0,0 +1,43 @@
+# Test for memory queue which is persisted at shutdown. The
+# plan is to start an instance, emit some data, do a relatively
+# fast shutdown and then re-start the engine to process the
+# remaining data.
+# added 2009-05-25 by Rgerhards
+# This file is part of the rsyslog project, released under GPLv3
+# uncomment for debugging support:
+#set -o xtrace
+#export RSYSLOG_DEBUG="debug nostdout"
+#export RSYSLOG_DEBUGLOG="log"
+echo testing memory queue persisting to disk
+$srcdir/killrsyslog.sh # kill rsyslogd if it runs for some reason
+rm -rf test-spool
+mkdir test-spool
+rm -f work rsyslog.out.log rsyslog.out.log.save # work files
+../tools/rsyslogd -c4 -u2 -n -irsyslog.pid -M../runtime/.libs:../.libs -f$srcdir/testsuites/memq-persist1.conf &
+sleep 1
+echo "rsyslogd started with pid " `cat rsyslog.pid`
+# 20000 messages should be enough
+./tcpflood 127.0.0.1 13514 1 10000
+if [ "$?" -ne "0" ]; then
+ echo "error during tcpflood! see rsyslog.out.log.save for what was written"
+ cp rsyslog.out.log rsyslog.out.log.save
+fi
+sleep 3 # we need to wait to ensure everything is received (less 1 second would be better)
+kill `cat rsyslog.pid`
+sleep 5 # wait for engine to terminate
+echo There must exist some files now:
+ls -l test-spool
+# restart engine and have rest processed
+../tools/rsyslogd -c4 -u2 -n -irsyslog.pid -M../runtime/.libs:../.libs -f$srcdir/testsuites/memq-persist2.conf &
+$srcdir/waitqueueempty.sh # wait until rsyslogd is done processing messages
+kill `cat rsyslog.pid`
+rm -f work
+sort < rsyslog.out.log > work
+./chkseq work 0 9999
+if [ "$?" -ne "0" ]; then
+ # rm -f work rsyslog.out.log
+ echo "sequence error detected"
+ exit 1
+fi
+rm -f work rsyslog.out.log
+rm -rf test-spool
diff --git a/tests/testsuites/memq-persist1.conf b/tests/testsuites/memq-persist1.conf
new file mode 100644
index 00000000..5240090f
--- /dev/null
+++ b/tests/testsuites/memq-persist1.conf
@@ -0,0 +1,25 @@
+# Test for persisting messages to disk on shutdown
+# rgerhards, 2009-04-17
+$ModLoad ../plugins/imtcp/.libs/imtcp
+$MainMsgQueueTimeoutShutdown 1
+$MainMsgQueueSaveOnShutdown on
+$InputTCPServerRun 13514
+
+$ModLoad ../plugins/imdiag/.libs/imdiag
+$IMDiagServerRun 13500
+
+$ModLoad ../plugins/omtesting/.libs/omtesting
+
+$ErrorMessagesToStderr off
+
+# set spool locations and switch queue to disk-only mode
+$WorkDirectory test-spool
+$MainMsgQueueFilename mainq
+$MainMsgQueueType LinkedList
+
+$template outfmt,"%msg:F,58:2%\n"
+$template dynfile,"rsyslog.out.log" # trick to use relative path names!
+:msg, contains, "msgnum:" ?dynfile;outfmt
+
+# delay execution so that a queue can build up:
+*.* :omtesting:sleep 0 1000
diff --git a/tests/testsuites/memq-persist2.conf b/tests/testsuites/memq-persist2.conf
new file mode 100644
index 00000000..23e29e2f
--- /dev/null
+++ b/tests/testsuites/memq-persist2.conf
@@ -0,0 +1,20 @@
+# Test for persisting messages to disk on shutdown
+# rgerhards, 2009-04-17
+$ModLoad ../plugins/imtcp/.libs/imtcp
+$MainMsgQueueTimeoutShutdown 10000
+$MainMsgQueueSaveOnShutdown on
+$InputTCPServerRun 13514
+
+$ModLoad ../plugins/imdiag/.libs/imdiag
+$IMDiagServerRun 13500
+
+$ErrorMessagesToStderr off
+
+# set spool locations and switch queue to disk-only mode
+$WorkDirectory test-spool
+$MainMsgQueueFilename mainq
+$MainMsgQueueType LinkedList
+
+$template outfmt,"%msg:F,58:2%\n"
+$template dynfile,"rsyslog.out.log" # trick to use relative path names!
+:msg, contains, "msgnum:" ?dynfile;outfmt