AT_BANNER([vlog]) AT_SETUP([vlog - Python]) AT_SKIP_IF([test $HAVE_PYTHON = no]) AT_CAPTURE_FILE([log_file]) AT_CAPTURE_FILE([stderr_log]) AT_CHECK([$PYTHON $srcdir/test-vlog.py --log-file log_file \ -v dbg module_1:info module_2:warn syslog:off 2>stderr_log]) AT_CHECK([sed -e 's/.*-.*-.*T..:..:..Z |//' \ -e 's/File ".*", line [[0-9]][[0-9]]*,/File , line ,/' \ stderr_log], [0], [dnl 0 | module_0 | EMER | emergency 1 | module_0 | ERR | error 2 | module_0 | WARN | warning 3 | module_0 | INFO | information 4 | module_0 | DBG | debug 5 | module_0 | EMER | emergency exception Traceback (most recent call last): File , line , in main assert fail AssertionError 6 | module_0 | ERR | error exception Traceback (most recent call last): File , line , in main assert fail AssertionError 7 | module_0 | WARN | warn exception Traceback (most recent call last): File , line , in main assert fail AssertionError 8 | module_0 | INFO | information exception Traceback (most recent call last): File , line , in main assert fail AssertionError 9 | module_0 | DBG | debug exception Traceback (most recent call last): File , line , in main assert fail AssertionError 10 | module_0 | ERR | exception Traceback (most recent call last): File , line , in main assert fail AssertionError 11 | module_1 | EMER | emergency 12 | module_1 | ERR | error 13 | module_1 | WARN | warning 14 | module_1 | INFO | information 16 | module_1 | EMER | emergency exception Traceback (most recent call last): File , line , in main assert fail AssertionError 17 | module_1 | ERR | error exception Traceback (most recent call last): File , line , in main assert fail AssertionError 18 | module_1 | WARN | warn exception Traceback (most recent call last): File , line , in main assert fail AssertionError 19 | module_1 | INFO | information exception Traceback (most recent call last): File , line , in main assert fail AssertionError 21 | module_1 | ERR | exception Traceback (most recent call last): File , line , in main assert fail AssertionError 22 | module_2 | EMER | emergency 23 | module_2 | ERR | error 24 | module_2 | WARN | warning 27 | module_2 | EMER | emergency exception Traceback (most recent call last): File , line , in main assert fail AssertionError 28 | module_2 | ERR | error exception Traceback (most recent call last): File , line , in main assert fail AssertionError 29 | module_2 | WARN | warn exception Traceback (most recent call last): File , line , in main assert fail AssertionError 32 | module_2 | ERR | exception Traceback (most recent call last): File , line , in main assert fail AssertionError ]) AT_CLEANUP AT_SETUP([vlog - vlog/reopen - Python]) AT_SKIP_IF([test $HAVE_PYTHON = no]) OVS_RUNDIR=`pwd`; export OVS_RUNDIR OVS_LOGDIR=`pwd`; export OVS_LOGDIR OVS_DBDIR=`pwd`; export OVS_DBDIR OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR ON_EXIT([kill `cat test-unixctl.py.pid`]) AT_CAPTURE_FILE([log]) AT_CAPTURE_FILE([log.old]) AT_CHECK([$PYTHON $srcdir/test-unixctl.py --log-file=`pwd`/log --pidfile --detach]) AT_CHECK([APPCTL -t test-unixctl.py log message]) mv log log.old AT_CHECK([APPCTL -t test-unixctl.py log message2]) AT_CHECK([APPCTL -t test-unixctl.py vlog/reopen]) AT_CHECK([APPCTL -t test-unixctl.py log message3]) AT_CHECK([APPCTL -t test-unixctl.py exit]) AT_CHECK([sed 's/.*|//' log.old], [0], [dnl Entering run loop. message message2 ]) AT_CHECK([sed 's/.*|//' log], [0], [dnl message3 ]) AT_CLEANUP AT_SETUP([vlog - vlog/reopen without log file - Python]) AT_SKIP_IF([test $HAVE_PYTHON = no]) OVS_RUNDIR=`pwd`; export OVS_RUNDIR OVS_LOGDIR=`pwd`; export OVS_LOGDIR OVS_DBDIR=`pwd`; export OVS_DBDIR OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR ON_EXIT([kill `cat test-unixctl.py.pid`]) AT_CHECK([$PYTHON $srcdir/test-unixctl.py --pidfile --detach]) AT_CHECK([APPCTL -t test-unixctl.py vlog/reopen], [0], [Logging to file not configured ]) AT_CLEANUP dnl This checks that if vlog/reopen can't reopen the log file, dnl nothing particularly bad (e.g. Python throws an exception and dnl aborts the program) happens. AT_SETUP([vlog - vlog/reopen can't reopen log file - Python]) AT_SKIP_IF([test $HAVE_PYTHON = no]) # Verify that /dev/full is a character device that fails writes. AT_SKIP_IF([test ! -c /dev/full]) AT_SKIP_IF([echo > /dev/full]) OVS_RUNDIR=`pwd`; export OVS_RUNDIR OVS_LOGDIR=`pwd`; export OVS_LOGDIR OVS_DBDIR=`pwd`; export OVS_DBDIR OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR ON_EXIT([kill `cat test-unixctl.py.pid`]) AT_CHECK([$PYTHON $srcdir/test-unixctl.py --log-file=`pwd`/log --pidfile --detach]) AT_CHECK([APPCTL -t test-unixctl.py log message]) mv log log.old ln -s /dev/full log AT_CHECK([APPCTL -t test-unixctl.py vlog/reopen]) AT_CHECK([APPCTL -t test-unixctl.py log message2]) rm log AT_CHECK([APPCTL -t test-unixctl.py vlog/reopen]) AT_CHECK([APPCTL -t test-unixctl.py log message3]) AT_CHECK([APPCTL -t test-unixctl.py exit]) AT_CHECK([sed 's/.*|//' log.old], [0], [dnl Entering run loop. message ]) AT_CHECK([sed 's/.*|//' log], [0], [dnl message3 ]) AT_CLEANUP AT_SETUP([vlog - vlog/set and vlog/list - Python]) AT_SKIP_IF([test $HAVE_PYTHON = no]) OVS_RUNDIR=`pwd`; export OVS_RUNDIR OVS_LOGDIR=`pwd`; export OVS_LOGDIR OVS_DBDIR=`pwd`; export OVS_DBDIR OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR ON_EXIT([kill `cat test-unixctl.py.pid`]) AT_CAPTURE_FILE([log]) AT_CHECK([$PYTHON $srcdir/test-unixctl.py --log-file=`pwd`/log --pidfile --detach]) AT_CHECK([APPCTL -t test-unixctl.py vlog/list], [0], [dnl console syslog file ------- ------ ------ daemon info info info fatal-signal info info info jsonrpc info info info poller info info info reconnect info info info socket_util info info info stream info info info test-unixctl info info info unixctl_server info info info ]) AT_CHECK([APPCTL -t test-unixctl.py vlog/set daemon:syslog:err]) AT_CHECK([APPCTL -t test-unixctl.py vlog/set file:dbg]) AT_CHECK([APPCTL -t test-unixctl.py vlog/set nonexistent], [0], [no facility, level, or module "nonexistent" ]) AT_CHECK([APPCTL -t test-unixctl.py vlog/list], [0], [dnl console syslog file ------- ------ ------ daemon info err dbg fatal-signal info info dbg jsonrpc info info dbg poller info info dbg reconnect info info dbg socket_util info info dbg stream info info dbg test-unixctl info info dbg unixctl_server info info dbg ]) AT_CHECK([APPCTL -t test-unixctl.py vlog/set pattern], [0], [Please supply a valid pattern and facility ]) AT_CHECK([APPCTL -t test-unixctl.py vlog/set pattern:nonexistent], [0], [Facility nonexistent does not exist ]) AT_CHECK([APPCTL -t test-unixctl.py vlog/set pattern:file:'I<3OVS|%m']) AT_CHECK([APPCTL -t test-unixctl.py log patterntest]) AT_CHECK([grep -q 'I<3OVS' log]) AT_CLEANUP