2015-05-20 3:42 GMT+02:00 Thomas D. <whi...@whissi.de>: > On 2015-05-20 01:44, Thomas D. wrote: >> I don't know at the moment how to fix that, will need more time. > > OK, to get an idea what we need to do: > > To get the "imtcp_no_octet_counted.sh" test working for example, I had > to apply the following changes (BUILD_DIR will be passed to the test > suite via TEST_ENVIRONMENT, set in tests' Makefile): > >> --- rsyslog/tests/diag.sh 2015-05-19 21:01:59.869156942 >> +0200 >> +++ rsyslog/rsyslog-8.10.0/tests/diag.sh 2015-05-20 03:28:30.876404481 >> +0200 >> @@ -26,16 +26,16 @@ >> echo "Test: $0" >> echo >> "------------------------------------------------------------" >> fi >> - cp $srcdir/testsuites/diag-common.conf diag-common.conf >> - cp $srcdir/testsuites/diag-common2.conf diag-common2.conf >> - rm -f rsyslogd.started work-*.conf rsyslog.random.data >> - rm -f rsyslogd2.started work-*.conf >> - rm -f work rsyslog.out.log rsyslog2.out.log >> rsyslog.out.log.save # common work files >> - rm -rf test-spool test-logdir stat-file1 >> - rm -f rsyslog.out.*.log work-presort rsyslog.pipe >> - rm -f rsyslog.input rsyslog.empty >> - rm -f rsyslog.errorfile >> - rm -f core.* vgcore.* >> + cp "$srcdir/testsuites/diag-common.conf" >> "${BUILD_DIR}/tests/diag-common.conf" >> + cp "$srcdir/testsuites/diag-common2.conf" >> "${BUILD_DIR}/tests/diag-common2.conf" >> + rm -f ${BUILD_DIR}/tests/rsyslogd.started >> ${BUILD_DIR}/tests/work-*.conf ${BUILD_DIR}/tests/rsyslog.random.data >> + rm -f ${BUILD_DIR}/tests/rsyslogd2.started >> ${BUILD_DIR}/tests/work-*.conf >> + rm -f ${BUILD_DIR}/tests/work >> ${BUILD_DIR}/tests/rsyslog.out.log ${BUILD_DIR}/tests/rsyslog2.out.log >> ${BUILD_DIR}/tests/rsyslog.out.log.save # common work files >> + rm -rf ${BUILD_DIR}/tests/test-spool >> ${BUILD_DIR}/tests/test-logdir ${BUILD_DIR}/tests/stat-file1 >> + rm -f ${BUILD_DIR}/tests/rsyslog.out.*.log >> ${BUILD_DIR}/tests/work-presort ${BUILD_DIR}/tests/rsyslog.pipe >> + rm -f ${BUILD_DIR}/tests/rsyslog.input >> ${BUILD_DIR}/tests/rsyslog.empty >> + rm -f ${BUILD_DIR}/tests/rsyslog.errorfile >> + rm -f ${BUILD_DIR}/tests/core.* ${BUILD_DIR}/tests/vgcore.* >> # Note: rsyslog.action.*.include must NOT be deleted, as it >> # is used to setup some parameters BEFORE calling init. This >> # happens in chained test scripts. Delete on exit is fine, >> @@ -68,7 +68,7 @@ >> ;; >> 'startup') # start rsyslogd with default params. $2 is the config file >> name to use >> # returns only after successful startup, $3 is the instance >> (blank or 2!) >> - $valgrind ../tools/rsyslogd -C -n -irsyslog$3.pid >> -M../runtime/.libs:../.libs -f$srcdir/testsuites/$2 & >> + $valgrind ../tools/rsyslogd -C -n >> -i${BUILD_DIR}/tests/rsyslog$3.pid -M../runtime/.libs:../.libs >> -f$srcdir/testsuites/$2 & >> $srcdir/diag.sh wait-startup $3 || source ./diag.sh error-exit >> $? >> ;; >> 'startup-vg') # start rsyslogd with default params under valgrind >> control. $2 is the config file name to use >> @@ -88,7 +88,7 @@ >> ;; >> 'wait-startup') # wait for rsyslogd startup ($2 is the instance) >> i=0 >> - while test ! -f rsyslog$2.pid; do >> + while test ! -f ${BUILD_DIR}/tests/rsyslog$2.pid; do >> ./msleep 100 # wait 100 milliseconds >> let "i++" >> if test $i -gt $TB_TIMEOUT_STARTSTOP >> @@ -112,7 +112,7 @@ >> 'wait-shutdown') # actually, we wait for rsyslog.pid to be deleted. $2 >> is the >> # instance >> i=0 >> - while test -f rsyslog$2.pid; do >> + while test -f ${BUILD_DIR}/tests/rsyslog$2.pid; do >> ./msleep 100 # wait 100 milliseconds >> let "i++" >> if test $i -gt $TB_TIMEOUT_STARTSTOP >> @@ -123,7 +123,7 @@ >> exit 1 >> fi >> done >> - if [ -e core.* ] >> + if [ -e ${BUILD_DIR}/tests/core.* ] >> then >> echo "ABORT! core file exists, starting interactive shell" >> bash >> @@ -172,11 +172,11 @@ >> fi >> $srcdir/diag.sh wait-queueempty $2 || exit $? >> ./msleep 1000 # wait a bit (think about slow testbench >> machines!) >> - kill `cat rsyslog$2.pid` >> + kill `cat ${BUILD_DIR}/tests/rsyslog$2.pid` >> # note: we do not wait for the actual termination! >> ;; >> 'shutdown-immediate') # shut rsyslogd down without emptying the queue. >> $2 is the instance. >> - kill `cat rsyslog.pid` >> + kill `cat ${BUILD_DIR}/tests/rsyslog.pid` >> # note: we do not wait for the actual termination! >> ;; >> 'tcpflood') # do a tcpflood run and check if it worked params are passed >> to tcpflood >> @@ -204,7 +204,7 @@ >> ;; >> 'seq-check') # do the usual sequence check to see if everything was >> properly received. $2 is the instance. >> rm -f work >> - cp rsyslog.out.log work-presort >> + cp rsyslog.out.log ${BUILD_DIR}/tests/work-presort >> sort -g < rsyslog.out.log > work >> # $4... are just to have the abilit to pass in more options... >> # add -v to chkseq if you need more verbose output >> --- rsyslog/tests/imtcp_no_octet_counted.sh 2015-05-20 >> 01:02:44.664244688 +0200 >> +++ rsyslog/rsyslog-8.10.0/tests/imtcp_no_octet_counted.sh 2015-05-20 >> 03:26:30.326267654 +0200 >> @@ -3,7 +3,7 @@ >> echo TEST: \[imtcp_no_octet_counted.sh\]: test imtcp with octet counted >> framing disabled >> source $srcdir/diag.sh init >> source $srcdir/diag.sh startup imtcp_no_octet_counted.conf >> -source $srcdir/diag.sh tcpflood -B -I testsuites/no_octet_counted.testdata >> +source $srcdir/diag.sh tcpflood -B -I >> ${srcdir}/testsuites/no_octet_counted.testdata >> source $srcdir/diag.sh shutdown-when-empty # shut down rsyslogd when done >> processing messages >> source $srcdir/diag.sh wait-shutdown # and wait for it to terminate >> source $srcdir/diag.sh seq-check 0 19 > > > In summary: > > 1) We cannot expect that $srcdir is writable (important, because > tcpflood and other tools are trying to create their log files in the > same folder). > > 2) We have to distinguish between $srcdir and build dir because these > are not the same folders when building out of src dir.
Thanks for the advise. I a have begun to see if I can get make distcheck to work (gradually going forward). While it looked generally good, I've now run into a situation where I do not have an explanation for the failure. Everything almost works, but in the "make distclean" step, I get this failure: ---------------------------------------------------- make[2]: Leaving directory `/home/travis/build/rsyslog/rsyslog/rsyslog-8.11.0.master/_build/compat' Making distclean in . make[2]: Entering directory `/home/travis/build/rsyslog/rsyslog/rsyslog-8.11.0.master/_build' Makefile:731: .deps/lmgssutil_la-gss-misc.Plo: No such file or directory Makefile:732: .deps/lmtcpclt_la-tcpclt.Plo: No such file or directory Makefile:733: .deps/lmtcpsrv_la-tcps_sess.Plo: No such file or directory Makefile:734: .deps/lmtcpsrv_la-tcpsrv.Plo: No such file or directory make[2]: *** No rule to make target `/.deps/lmtcpsrv_la-tcpsrv.Plo'. Stop. make[2]: Leaving directory `/home/travis/build/rsyslog/rsyslog/rsyslog-8.11.0.master/_build' make[1]: *** [distclean-recursive] Error 1 make[1]: Leaving directory `/home/travis/build/rsyslog/rsyslog/rsyslog-8.11.0.master/_build' make: *** [distcheck] Error 1 The command "make distcheck" exited with 2. -------------------------------- The full log is available here: https://travis-ci.org/rsyslog/rsyslog/builds/63456694 It is from this PR: https://github.com/rsyslog/rsyslog/pull/351 Which uses private branch: https://github.com/rgerhards/rsyslog/tree/fix-make-distcheck Does anybody have an idea what is causing this? Any help is deeply appreciated. Thanks, Rainer _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com/professional-services/ What's up with rsyslog? Follow https://twitter.com/rgerhards NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE THAT.