]> git.proxmox.com Git - mirror_ovs.git/blame - tests/ovsdb-macros.at
ovsdb-idl: Return correct seqno from ovsdb_idl_db_set_condition().
[mirror_ovs.git] / tests / ovsdb-macros.at
CommitLineData
24c8ae53
BP
1dnl OVSDB_INIT([$1])
2dnl
3dnl Creates an empty database named $1.
4m4_define([OVSDB_INIT],
6132b241 5 [AT_CHECK(
29381db0 6 [ovsdb-tool create $1 $abs_top_srcdir/vswitchd/vswitch.ovsschema],
24c8ae53 7 [0], [stdout], [ignore])
7c126fbb 8 AT_CHECK(
24c8ae53 9 [[ovsdb-tool transact $1 \
78876719
BP
10 '["Open_vSwitch",
11 {"op": "insert",
24c8ae53
BP
12 "table": "Open_vSwitch",
13 "row": {}}]']],
14 [0], [ignore], [ignore])])
91e2d982
HZ
15
16# OVSDB_CHECK_POSITIVE(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ])
17#
18# Runs "test-ovsdb TEST-OVSDB-ARGS" and checks that it exits with
19# status 0 and prints OUTPUT on stdout.
20#
21# TITLE is provided to AT_SETUP and KEYWORDS to AT_KEYWORDS.
22m4_define([OVSDB_CHECK_POSITIVE],
23 [AT_SETUP([$1])
24 AT_KEYWORDS([ovsdb positive $4])
25 AT_CHECK([test-ovsdb $2], [0], [$3
26], [])
27 AT_CLEANUP])
28
29# OVSDB_CHECK_POSITIVE_PY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ],
91e2d982
HZ
30# [PY-CHECK])
31#
32# Runs "test-ovsdb.py TEST-OVSDB-ARGS" and checks that it exits with
33# status 0 and prints OUTPUT on stdout.
34#
35# PY-CHECK is expanded before the check. It can check for features of the
36# Python implementation that are required for the test to pass.
37#
38# TITLE is provided to AT_SETUP and KEYWORDS to AT_KEYWORDS.
1ca0323e 39m4_define([OVSDB_CHECK_POSITIVE_PY],
91e2d982 40 [AT_SETUP([$1])
91e2d982
HZ
41 $6
42 AT_KEYWORDS([ovsdb positive Python $4])
43 AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py $2], [0], [$3
44], [])
45 AT_CLEANUP])
46
47# OVSDB_CHECK_POSITIVE_CPY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS],
1ca0323e 48# [PREREQ], [PY3-CHECK])
91e2d982
HZ
49#
50# Runs identical C and Python tests, as specified.
51m4_define([OVSDB_CHECK_POSITIVE_CPY],
52 [OVSDB_CHECK_POSITIVE([$1 - C], [$2], [$3], [$4], [$5])
1ca0323e 53 OVSDB_CHECK_POSITIVE_PY([$1 - Python3], [$2], [$3], [$4], [$5], [$7])])
91e2d982
HZ
54
55# OVSDB_CHECK_NEGATIVE(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ])
56#
57# Runs "test-ovsdb TEST-OVSDB-ARGS" and checks that it exits with
58# status 1 and that its output on stdout contains substring OUTPUT.
59# TITLE is provided to AT_SETUP and KEYWORDS to AT_KEYWORDS.
60m4_define([OVSDB_CHECK_NEGATIVE],
61 [AT_SETUP([$1])
62 AT_KEYWORDS([ovsdb negative $4])
63 AT_CHECK([test-ovsdb $2], [1], [], [stderr])
64 m4_assert(m4_len([$3]))
65 AT_CHECK(
66 [if grep -F -e "AS_ESCAPE([$3])" stderr
67 then
68 :
69 else
70 exit 99
71 fi],
72 [0], [ignore], [ignore])
73 AT_CLEANUP])
74
75# OVSDB_CHECK_NEGATIVE_PY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ])
76#
77# Runs "test-ovsdb TEST-OVSDB-ARGS" and checks that it exits with
78# status 1 and that its output on stdout contains substring OUTPUT.
79# TITLE is provided to AT_SETUP and KEYWORDS to AT_KEYWORDS.
80m4_define([OVSDB_CHECK_NEGATIVE_PY],
81 [AT_SETUP([$1])
91e2d982
HZ
82 AT_KEYWORDS([ovsdb negative $4])
83 AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py $2], [1], [], [stderr])
84 m4_assert(m4_len([$3]))
85 AT_CHECK(
86 [if grep -F -e "AS_ESCAPE([$3])" stderr
87 then
88 :
89 else
90 exit 99
91 fi],
92 [0], [ignore], [ignore])
93 AT_CLEANUP])
94
95# OVSDB_CHECK_NEGATIVE_CPY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS],
96# [PREREQ])
97#
98# Runs identical C and Python tests, as specified.
99m4_define([OVSDB_CHECK_NEGATIVE_CPY],
100 [OVSDB_CHECK_NEGATIVE([$1 - C], [$2], [$3], [$4], [$5])
1ca0323e 101 OVSDB_CHECK_NEGATIVE_PY([$1 - Python3], [$2], [$3], [$4], [$5])])
91e2d982
HZ
102
103OVS_START_SHELL_HELPERS
104ovsdb_client_wait() {
15394e0f 105 ovsdb-client -vconsole:warn -vreconnect:err -vjsonrpc:err -vtimeval:off -vfile -vsyslog:off -vvlog:off wait "$@"
91e2d982
HZ
106}
107OVS_END_SHELL_HELPERS