summaryrefslogtreecommitdiff
path: root/tests/ovsdb.at
blob: 3e9918ab4a024414b5dae7562f7b76f7ff226ca7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# 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])
   AT_SKIP_IF([test $HAVE_PYTHON = no])
   $6
   AT_KEYWORDS([ovsdb positive Python $4])
   AT_CHECK([$PYTHON $srcdir/test-ovsdb.py $2], [0], [$3
], [])
   AT_CLEANUP])

# OVSDB_CHECK_POSITIVE_CPY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS],
#                          [PREREQ], [PY-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 - Python], [$2], [$3], [$4], [$5], [$6])])

# 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_SKIP_IF([test $HAVE_PYTHON = no])
   AT_KEYWORDS([ovsdb negative $4])
   AT_CHECK([$PYTHON $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 - Python], [$2], [$3], [$4], [$5])])

m4_include([tests/ovsdb-log.at])
m4_include([tests/ovsdb-types.at])
m4_include([tests/ovsdb-data.at])
m4_include([tests/ovsdb-column.at])
m4_include([tests/ovsdb-table.at])
m4_include([tests/ovsdb-row.at])
m4_include([tests/ovsdb-schema.at])
m4_include([tests/ovsdb-condition.at])
m4_include([tests/ovsdb-mutation.at])
m4_include([tests/ovsdb-query.at])
m4_include([tests/ovsdb-transaction.at])
m4_include([tests/ovsdb-execution.at])
m4_include([tests/ovsdb-trigger.at])
m4_include([tests/ovsdb-tool.at])
m4_include([tests/ovsdb-server.at])
m4_include([tests/ovsdb-monitor.at])
m4_include([tests/ovsdb-idl.at])