diff options
author | Ben Pfaff <blp@nicira.com> | 2012-05-01 14:13:00 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2012-05-22 10:17:05 -0700 |
commit | 8ba37945d690d0b7179b4aaf21a54fb300f574b0 (patch) | |
tree | 82d2e538c9f11f17b35964e870a38c646e980265 /tests/vlog.at | |
parent | 53cf9963ccc60b443d738b31fbb446bc79170693 (diff) | |
download | openvswitch-8ba37945d690d0b7179b4aaf21a54fb300f574b0.tar.gz |
python: Implement "vlog/reopen" unixctl command in Python vlog.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'tests/vlog.at')
-rw-r--r-- | tests/vlog.at | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/vlog.at b/tests/vlog.at index 597c27acd..a1afb10f0 100644 --- a/tests/vlog.at +++ b/tests/vlog.at @@ -103,3 +103,80 @@ 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_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR +trap 'kill `cat test-unixctl.py.pid`' 0 + +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]) +trap '' 0 + +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_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR +trap 'kill `cat test-unixctl.py.pid`' 0 + +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_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR +trap 'kill `cat test-unixctl.py.pid`' 0 + +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 |