#!/bin/bash # this test checks truncation mode, and does so with multiple truncations of # the input file. # It also needs a larger load, which shall be sufficient to do begin of file # checks as well as should support file id hash generation. # addd 2016-10-06 by RGerhards, released under ASL 2.0 . ${srcdir:=.}/diag.sh init . $srcdir/diag.sh check-inotify generate_conf add_conf ' module(load="../plugins/imfile/.libs/imfile" pollingInterval="1") input(type="imfile" File="'./$RSYSLOG_DYNNAME'.input" Tag="file:" reopenOnTruncate="on") template(name="outfmt" type="string" string="%msg:F,58:2%\n") if $msg contains "msgnum:" then action( type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") ' # write the beginning of the file NUMMSG=1000 ./inputfilegen -m 1000 -i0 > $RSYSLOG_DYNNAME.input ls -li $RSYSLOG_DYNNAME.input inode=$(get_inode $RSYSLOG_DYNNAME.input ) echo inode $inode startup for i in {0..50}; do # check that previous msg injection worked wait_file_lines $RSYSLOG_OUT_LOG $NUMMSG 100 seq_check 0 $((NUMMSG - 1)) # begin new inject cycle generate_msgs=$(( i * 50)) echo generating $NUMMSG .. $((NUMMSG + generate_msgs -1)) ./inputfilegen -m$generate_msgs -i$NUMMSG > $RSYSLOG_DYNNAME.input (( NUMMSG=NUMMSG+generate_msgs )) if [ $inode -ne $( get_inode $RSYSLOG_DYNNAME.input ) ]; then echo FAIL testbench did not keep same inode number, expected $inode ls -li $RSYSLOG_DYNNAME.input exit 100 fi done echo generated $NUMMSG messages shutdown_when_empty wait_shutdown seq_check 0 $((NUMMSG - 1)) exit_test