aboutsummaryrefslogtreecommitdiff
path: root/tests/unixctl-py.at
diff options
context:
space:
mode:
authorEthan Jackson <ethan@nicira.com>2012-03-06 16:10:46 -0800
committerEthan Jackson <ethan@nicira.com>2012-03-07 12:50:15 -0800
commitf4ec6ff479ace8f9b893f883557235f2ea6bab8f (patch)
tree083fd765ee48cf0d52ea384adb86fd77cbbcfe8a /tests/unixctl-py.at
parent87cf07675bf45a0b15735d28380263a8d4da8642 (diff)
unixctl: Timeout unit tests instead of hanging.
We've seen some unixctl tests hang indefinitely which makes them difficult to debug. ovs-appctl and appctl.py calls to timeout instead. Signed-off-by: Ethan Jackson <ethan@nicira.com>
Diffstat (limited to 'tests/unixctl-py.at')
-rw-r--r--tests/unixctl-py.at66
1 files changed, 35 insertions, 31 deletions
diff --git a/tests/unixctl-py.at b/tests/unixctl-py.at
index 1d435baab..8317add8b 100644
--- a/tests/unixctl-py.at
+++ b/tests/unixctl-py.at
@@ -1,13 +1,16 @@
AT_BANNER([unixctl])
+m4_define([APPCTL], [ovs-appctl --timeout 20])
+m4_define([PYAPPCTL], [$PYTHON $srcdir/appctl.py --timeout 20])
+
AT_SETUP([unixctl ovs-vswitchd exit - Python])
AT_SKIP_IF([test $HAVE_PYTHON = no])
OVS_VSWITCHD_START
-AT_CHECK([$PYTHON $srcdir/appctl.py -t ovs-vswitchd exit], [0], [])
+AT_CHECK([PYAPPCTL -t ovs-vswitchd exit], [0], [])
OVS_WAIT_WHILE([test -s ovs-vswitchd.pid])
-AT_CHECK([$PYTHON $srcdir/appctl.py -t ovsdb-server exit], [0], [])
+AT_CHECK([PYAPPCTL -t ovsdb-server exit], [0], [])
OVS_WAIT_WHILE([test -s ovsdb-server.pid])
AT_CLEANUP
@@ -15,12 +18,12 @@ AT_SETUP([unixctl ovs-vswitchd help - Python])
AT_SKIP_IF([test $HAVE_PYTHON = no])
OVS_VSWITCHD_START
-AT_CHECK([ovs-appctl help], [0], [stdout])
+AT_CHECK([APPCTL help], [0], [stdout])
AT_CHECK([head -1 stdout], [0], [dnl
The available commands are:
])
mv stdout expout
-AT_CHECK([$PYTHON $srcdir/appctl.py help], [0], [expout])
+AT_CHECK([PYAPPCTL help], [0], [expout])
OVS_VSWITCHD_STOP
AT_CLEANUP
@@ -30,40 +33,40 @@ AT_SETUP([unixctl ovs-vswitchd arguments - Python])
AT_SKIP_IF([test $HAVE_PYTHON = no])
OVS_VSWITCHD_START
-AT_CHECK([ovs-appctl bond/hash], [2], [], [stderr])
+AT_CHECK([APPCTL bond/hash], [2], [], [stderr])
AT_CHECK([head -1 stderr], [0], [dnl
"bond/hash" command requires at least 1 arguments
])
sed 's/ovs-appctl/appctl.py/' stderr > experr
-AT_CHECK([$PYTHON $srcdir/appctl.py bond/hash], [2], [], [experr])
+AT_CHECK([PYAPPCTL bond/hash], [2], [], [experr])
-AT_CHECK([ovs-appctl bond/hash mac], [2], [], [stderr])
+AT_CHECK([APPCTL bond/hash mac], [2], [], [stderr])
AT_CHECK([head -1 stderr], [0], [dnl
invalid mac
])
sed 's/ovs-appctl/appctl.py/' stderr > experr
-AT_CHECK([$PYTHON $srcdir/appctl.py bond/hash mac], [2], [], [experr])
+AT_CHECK([PYAPPCTL bond/hash mac], [2], [], [experr])
-AT_CHECK([ovs-appctl bond/hash mac vlan], [2], [], [stderr])
+AT_CHECK([APPCTL bond/hash mac vlan], [2], [], [stderr])
AT_CHECK([head -1 stderr], [0], [dnl
invalid vlan
])
sed 's/ovs-appctl/appctl.py/' stderr > experr
-AT_CHECK([$PYTHON $srcdir/appctl.py bond/hash mac vlan], [2], [], [experr])
+AT_CHECK([PYAPPCTL bond/hash mac vlan], [2], [], [experr])
-AT_CHECK([ovs-appctl bond/hash mac vlan basis], [2], [], [stderr])
+AT_CHECK([APPCTL bond/hash mac vlan basis], [2], [], [stderr])
AT_CHECK([head -1 stderr], [0], [dnl
invalid vlan
])
sed 's/ovs-appctl/appctl.py/' stderr > experr
-AT_CHECK([$PYTHON $srcdir/appctl.py bond/hash vlan basis], [2], [], [experr])
+AT_CHECK([PYAPPCTL bond/hash vlan basis], [2], [], [experr])
-AT_CHECK([ovs-appctl bond/hash mac vlan basis extra], [2], [], [stderr])
+AT_CHECK([APPCTL bond/hash mac vlan basis extra], [2], [], [stderr])
AT_CHECK([head -1 stderr], [0], [dnl
"bond/hash" command takes at most 3 arguments
])
sed 's/ovs-appctl/appctl.py/' stderr > experr
-AT_CHECK([$PYTHON $srcdir/appctl.py bond/hash mac vlan basis extra], [2], [], [experr])
+AT_CHECK([PYAPPCTL bond/hash mac vlan basis extra], [2], [], [experr])
OVS_VSWITCHD_STOP
AT_CLEANUP
@@ -72,12 +75,12 @@ AT_SETUP([unixctl bad target - Python])
OVS_RUNDIR=$PWD; export OVS_RUNDIR
AT_SKIP_IF([test $HAVE_PYTHON = no])
-AT_CHECK([$PYTHON $srcdir/appctl.py -t bogus doit], [1], [], [stderr])
+AT_CHECK([PYAPPCTL -t bogus doit], [1], [], [stderr])
AT_CHECK_UNQUOTED([tail -1 stderr], [0], [dnl
appctl.py: cannot read pidfile "$PWD/bogus.pid" (No such file or directory)
])
-AT_CHECK([$PYTHON $srcdir/appctl.py -t /bogus/path.pid doit], [1], [], [stderr])
+AT_CHECK([PYAPPCTL -t /bogus/path.pid doit], [1], [], [stderr])
AT_CHECK([tail -1 stderr], [0], [dnl
appctl.py: cannot connect to "/bogus/path.pid" (No such file or directory)
])
@@ -93,9 +96,10 @@ trap 'kill `cat test-unixctl.py.pid`' 0
AT_CAPTURE_FILE([$PWD/test-unixctl.py.log])
AT_CHECK([$PYTHON $srcdir/test-unixctl.py --log-file --pidfile --detach])
-AT_CHECK([ovs-appctl -t test-unixctl.py help], [0], [stdout])
+AT_CHECK([APPCTL -t test-unixctl.py help], [0], [stdout])
AT_CHECK([cat stdout], [0], [dnl
The available commands are:
+ block
echo [[arg ...]]
echo_error [[arg ...]]
exit
@@ -103,52 +107,52 @@ The available commands are:
version
])
mv stdout expout
-AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py help], [0], [expout])
+AT_CHECK([PYAPPCTL -t test-unixctl.py help], [0], [expout])
AT_CHECK([echo "test-unixctl.py (Open vSwitch) $VERSION $BUILDNR" > expout])
-AT_CHECK([ovs-appctl -t test-unixctl.py version], [0], [expout])
-AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py version], [0], [expout])
+AT_CHECK([APPCTL -t test-unixctl.py version], [0], [expout])
+AT_CHECK([PYAPPCTL -t test-unixctl.py version], [0], [expout])
-AT_CHECK([ovs-appctl -t test-unixctl.py echo robot ninja], [0], [stdout])
+AT_CHECK([APPCTL -t test-unixctl.py echo robot ninja], [0], [stdout])
AT_CHECK([cat stdout], [0], [dnl
[[u'robot', u'ninja']]
])
mv stdout expout
-AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py echo robot ninja], [0], [expout])
+AT_CHECK([PYAPPCTL -t test-unixctl.py echo robot ninja], [0], [expout])
-AT_CHECK([ovs-appctl -t test-unixctl.py echo_error robot ninja], [2], [], [stderr])
+AT_CHECK([APPCTL -t test-unixctl.py echo_error robot ninja], [2], [], [stderr])
AT_CHECK([cat stderr], [0], [dnl
[[u'robot', u'ninja']]
ovs-appctl: test-unixctl.py: server returned an error
])
sed 's/ovs-appctl/appctl.py/' stderr > experr
-AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py echo_error robot ninja], [2], [], [experr])
+AT_CHECK([PYAPPCTL -t test-unixctl.py echo_error robot ninja], [2], [], [experr])
-AT_CHECK([ovs-appctl -t test-unixctl.py echo], [2], [], [stderr])
+AT_CHECK([APPCTL -t test-unixctl.py echo], [2], [], [stderr])
AT_CHECK([cat stderr], [0], [dnl
"echo" command requires at least 1 arguments
ovs-appctl: test-unixctl.py: server returned an error
])
sed 's/ovs-appctl/appctl.py/' stderr > experr
-AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py echo], [2], [], [experr])
+AT_CHECK([PYAPPCTL -t test-unixctl.py echo], [2], [], [experr])
-AT_CHECK([ovs-appctl -t test-unixctl.py echo robot ninja pirates], [2], [], [stderr])
+AT_CHECK([APPCTL -t test-unixctl.py echo robot ninja pirates], [2], [], [stderr])
AT_CHECK([cat stderr], [0], [dnl
"echo" command takes at most 2 arguments
ovs-appctl: test-unixctl.py: server returned an error
])
sed 's/ovs-appctl/appctl.py/' stderr > experr
-AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py echo robot ninja pirates], [2], [], [experr])
+AT_CHECK([PYAPPCTL -t test-unixctl.py echo robot ninja pirates], [2], [], [experr])
-AT_CHECK([ovs-appctl -t test-unixctl.py bogus], [2], [], [stderr])
+AT_CHECK([APPCTL -t test-unixctl.py bogus], [2], [], [stderr])
AT_CHECK([cat stderr], [0], [dnl
"bogus" is not a valid command
ovs-appctl: test-unixctl.py: server returned an error
])
sed 's/ovs-appctl/appctl.py/' stderr > experr
-AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py bogus], [2], [], [experr])
+AT_CHECK([PYAPPCTL -t test-unixctl.py bogus], [2], [], [experr])
-AT_CHECK([ovs-appctl -t test-unixctl.py exit])
+AT_CHECK([APPCTL -t test-unixctl.py exit])
trap '' 0]
AT_CLEANUP