dnl OVSDB_INIT([$1]) dnl dnl Creates an empty database named $1. m4_define([OVSDB_INIT], [AT_CHECK( [ovsdb-tool create $1 $abs_top_srcdir/vswitchd/vswitch.ovsschema], [0], [stdout], [ignore]) AT_CHECK( [[ovsdb-tool transact $1 \ '["Open_vSwitch", {"op": "insert", "table": "Open_vSwitch", "row": {}}]']], [0], [ignore], [ignore])]) # OVSDB_CHECK_POSITIVE(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ]) # # Runs "test-ovsdb TEST-OVSDB-ARGS" and checks that it exits with # status 0 and prints OUTPUT on stdout. # # TITLE is provided to AT_SETUP and KEYWORDS to AT_KEYWORDS. m4_define([OVSDB_CHECK_POSITIVE], [AT_SETUP([$1]) AT_KEYWORDS([ovsdb positive $4]) AT_CHECK([test-ovsdb $2], [0], [$3 ], []) AT_CLEANUP]) # OVSDB_CHECK_POSITIVE_PY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ], # [PY-CHECK]) # # Runs "test-ovsdb.py TEST-OVSDB-ARGS" and checks that it exits with # status 0 and prints OUTPUT on stdout. # # PY-CHECK is expanded before the check. It can check for features of the # Python implementation that are required for the test to pass. # # TITLE is provided to AT_SETUP and KEYWORDS to AT_KEYWORDS. m4_define([OVSDB_CHECK_POSITIVE_PY], [AT_SETUP([$1]) $6 AT_KEYWORDS([ovsdb positive Python $4]) AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py $2], [0], [$3 ], []) AT_CLEANUP]) # OVSDB_CHECK_POSITIVE_CPY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], # [PREREQ], [PY3-CHECK]) # # Runs identical C and Python tests, as specified. m4_define([OVSDB_CHECK_POSITIVE_CPY], [OVSDB_CHECK_POSITIVE([$1 - C], [$2], [$3], [$4], [$5]) OVSDB_CHECK_POSITIVE_PY([$1 - Python3], [$2], [$3], [$4], [$5], [$7])]) # OVSDB_CHECK_NEGATIVE(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ]) # # Runs "test-ovsdb TEST-OVSDB-ARGS" and checks that it exits with # status 1 and that its output on stdout contains substring OUTPUT. # TITLE is provided to AT_SETUP and KEYWORDS to AT_KEYWORDS. m4_define([OVSDB_CHECK_NEGATIVE], [AT_SETUP([$1]) AT_KEYWORDS([ovsdb negative $4]) AT_CHECK([test-ovsdb $2], [1], [], [stderr]) m4_assert(m4_len([$3])) AT_CHECK( [if grep -F -e "AS_ESCAPE([$3])" stderr then : else exit 99 fi], [0], [ignore], [ignore]) AT_CLEANUP]) # OVSDB_CHECK_NEGATIVE_PY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ]) # # Runs "test-ovsdb TEST-OVSDB-ARGS" and checks that it exits with # status 1 and that its output on stdout contains substring OUTPUT. # TITLE is provided to AT_SETUP and KEYWORDS to AT_KEYWORDS. m4_define([OVSDB_CHECK_NEGATIVE_PY], [AT_SETUP([$1]) AT_KEYWORDS([ovsdb negative $4]) AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py $2], [1], [], [stderr]) m4_assert(m4_len([$3])) AT_CHECK( [if grep -F -e "AS_ESCAPE([$3])" stderr then : else exit 99 fi], [0], [ignore], [ignore]) AT_CLEANUP]) # OVSDB_CHECK_NEGATIVE_CPY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], # [PREREQ]) # # Runs identical C and Python tests, as specified. m4_define([OVSDB_CHECK_NEGATIVE_CPY], [OVSDB_CHECK_NEGATIVE([$1 - C], [$2], [$3], [$4], [$5]) OVSDB_CHECK_NEGATIVE_PY([$1 - Python3], [$2], [$3], [$4], [$5])]) OVS_START_SHELL_HELPERS ovsdb_client_wait() { ovsdb-client -vconsole:warn -vreconnect:err -vjsonrpc:err -vtimeval:off -vfile -vsyslog:off -vvlog:off wait "$@" } OVS_END_SHELL_HELPERS