mirror of
https://github.com/openvswitch/ovs
synced 2025-10-21 14:49:41 +00:00
A lot of tests need to initialize the OVS_RUNDIR, OVS_LOGDIR, etc. variables to point to the directory in which the tests run. Until now, each of them has had to do this individually, which is redundant. This commit starts to do this automatically. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Andy Zhou <azhou@nicira.com>
49 lines
1.9 KiB
Plaintext
49 lines
1.9 KiB
Plaintext
AT_BANNER([JSON-RPC - Python])
|
|
|
|
AT_SETUP([JSON-RPC request and successful reply - Python])
|
|
AT_SKIP_IF([test $HAVE_PYTHON = no])
|
|
AT_CHECK([$PYTHON $srcdir/test-jsonrpc.py --detach --pidfile=`pwd`/pid listen punix:socket])
|
|
AT_CHECK([test -s pid])
|
|
AT_CHECK([kill -0 `cat pid`])
|
|
AT_CHECK(
|
|
[[$PYTHON $srcdir/test-jsonrpc.py request unix:socket echo '[{"a": "b", "x": null}]']], [0],
|
|
[[{"error":null,"id":0,"result":[{"a":"b","x":null}]}
|
|
]], [], [test ! -e pid || kill `cat pid`])
|
|
AT_CHECK([kill `cat pid`])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([JSON-RPC request and error reply - Python])
|
|
AT_SKIP_IF([test $HAVE_PYTHON = no])
|
|
AT_CHECK([$PYTHON $srcdir/test-jsonrpc.py --detach --pidfile=`pwd`/pid listen punix:socket])
|
|
AT_CHECK([test -s pid])
|
|
AT_CHECK([kill -0 `cat pid`])
|
|
AT_CHECK(
|
|
[[$PYTHON $srcdir/test-jsonrpc.py request unix:socket bad-request '[]']], [0],
|
|
[[{"error":{"error":"unknown method"},"id":0,"result":null}
|
|
]], [], [test ! -e pid || kill `cat pid`])
|
|
AT_CHECK([kill `cat pid`])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([JSON-RPC notification - Python])
|
|
AT_SKIP_IF([test $HAVE_PYTHON = no])
|
|
AT_CHECK([$PYTHON $srcdir/test-jsonrpc.py --detach --pidfile=`pwd`/pid listen punix:socket])
|
|
AT_CHECK([test -s pid])
|
|
# When a daemon dies it deletes its pidfile, so make a copy.
|
|
AT_CHECK([cp pid pid2])
|
|
AT_CHECK([kill -0 `cat pid2`])
|
|
AT_CHECK([[$PYTHON $srcdir/test-jsonrpc.py notify unix:socket shutdown '[]']], [0], [],
|
|
[], [kill `cat pid2`])
|
|
AT_CHECK(
|
|
[pid=`cat pid2`
|
|
# First try a quick sleep, so that the test completes very quickly
|
|
# in the normal case. POSIX doesn't require fractional times to
|
|
# work, so this might not work.
|
|
sleep 0.1; if kill -0 $pid; then :; else echo success; exit 0; fi
|
|
# Then wait up to 2 seconds.
|
|
sleep 1; if kill -0 $pid; then :; else echo success; exit 0; fi
|
|
sleep 1; if kill -0 $pid; then :; else echo success; exit 0; fi
|
|
echo failure; exit 1], [0], [success
|
|
], [ignore])
|
|
AT_CHECK([test ! -e pid])
|
|
AT_CLEANUP
|