summaryrefslogtreecommitdiffstats
path: root/tests/asynwr_tinybuf.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtests/asynwr_tinybuf.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/asynwr_tinybuf.sh b/tests/asynwr_tinybuf.sh
new file mode 100755
index 0000000..60da2fc
--- /dev/null
+++ b/tests/asynwr_tinybuf.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+# This tests async writing with a very small output buffer (1 byte!),
+# so it stresses output buffer handling. This also means operations will
+# be somewhat slow, so we send only a small amounts of data.
+#
+# added 2010-03-09 by Rgerhards
+#
+# This file is part of the rsyslog project, released under GPLv3
+echo ===============================================================================
+echo TEST: \[asynwr_tinybuf.sh\]: test async file writing with 1-byte buffer
+. ${srcdir:=.}/diag.sh init
+export CI_SHUTDOWN_QUEUE_EMPTY_CHECKS=20 # this test is notoriously slow...
+generate_conf
+add_conf '
+$ModLoad ../plugins/imtcp/.libs/imtcp
+$MainMsgQueueTimeoutShutdown 10000
+input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port")
+
+$template outfmt,"%msg:F,58:2%\n"
+template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names!
+$OMFileFlushOnTXEnd off
+$OMFileFlushInterval 2
+$OMFileIOBufferSize 1
+$OMFileAsyncWriting on
+:msg, contains, "msgnum:" ?dynfile;outfmt
+'
+# uncomment for debugging support:
+#export RSYSLOG_DEBUG="debug nostdout noprintmutexaction"
+#export RSYSLOG_DEBUGLOG="log"
+startup
+# send 1000 messages, fairly enough to trigger problems
+tcpflood -m1000
+shutdown_when_empty # shut down rsyslogd when done processing messages
+wait_shutdown # shut down rsyslogd when done processing messages
+seq_check 0 999
+exit_test