1 AT_BANNER([library unit tests])
3 AT_SETUP([flow extractor])
4 AT_CHECK([$PYTHON3 $srcdir/flowgen.py >/dev/null])
5 AT_CHECK([ovstest test-flows flows pcap], [0], [checked 247 packets, 0 errors
9 AT_SETUP([TCP/IP checksumming])
10 AT_CHECK([ovstest test-csum], [0], [....#....#....####................................#................................#
14 AT_SETUP([hash functions])
15 AT_CHECK([ovstest test-hash])
20 AT_CHECK([ovstest test-hmap], [0], [............
24 AT_SETUP([hash index])
26 AT_CHECK([ovstest test-hindex], [0], [.....................
30 AT_SETUP([cuckoo hash])
32 AT_CHECK([ovstest test-cmap check 1], [0], [...
36 AT_SETUP([counting cuckoo hash])
38 AT_CHECK([ovstest test-ccmap check 1], [0], [...
42 AT_SETUP([atomic operations])
43 AT_CHECK([ovstest test-atomic])
46 AT_SETUP([test linked lists])
47 AT_CHECK([ovstest test-list], [0], [....
51 AT_SETUP([packet library])
52 AT_CHECK([ovstest test-packets])
56 AT_CHECK([ovstest test-sha1], [0], [.........
60 AT_SETUP([test skiplist])
61 AT_KEYWORDS([skiplist])
62 AT_CHECK([ovstest test-skiplist], [0], [skiplist insert
71 AT_SETUP([type properties])
72 AT_CHECK([test-type-props])
75 AT_SETUP([strtok_r bug fix])
76 AT_CHECK([test-strtok_r], [0], [NULL NULL
80 AT_SETUP([byte order conversion])
81 AT_KEYWORDS([byte order])
82 AT_CHECK([ovstest test-byte-order])
85 AT_SETUP([random number generator])
86 AT_CHECK([ovstest test-random], [0], [dnl
122 (expected values are 5000)
124 nibble 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
125 0 640 589 610 613 588 632 650 613 582 646 627 640 612 650 637 671
126 1 626 642 663 620 630 609 617 602 615 638 614 644 641 597 598 644
127 2 667 611 617 613 609 629 642 651 604 641 594 659 651 610 617 585
128 3 621 662 594 605 618 644 616 613 613 616 611 608 614 660 653 652
129 4 641 668 621 664 619 624 625 642 624 629 607 566 599 639 618 614
130 5 666 629 620 621 581 615 598 620 630 651 671 622 628 603 657 588
131 6 620 640 621 606 603 644 628 633 620 597 653 591 637 658 634 615
132 7 636 645 679 593 598 609 612 612 623 626 638 669 603 629 606 622
133 (expected values are 625)
148 [bitwise_is_all_zeros],
151 [AT_SETUP([testname[()] function])
152 AT_KEYWORDS([testname])
153 AT_CHECK([ovstest test-util testname], [0], [], [])
156 AT_SETUP([unix socket, short pathname - C])
157 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
158 AT_CHECK([ovstest test-unix-socket x])
161 dnl Unix sockets with long names are problematic because the name has to
162 dnl go in a fixed-length field in struct sockaddr_un. Generally the limit
163 dnl is about 100 bytes. On Linux, we work around this by indirecting through
164 dnl a directory fd using /proc/self/fd/<dirfd>. We do not have a workaround
165 dnl for other platforms, so we skip the test there.
166 AT_SETUP([unix socket, long pathname - C])
167 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
168 dnl Linux sockaddr_un has a 108-byte limit, so this needs to be longer.
169 dnl Linux "ecryptfs" has a 143-byte limit, so we use that many bytes.
170 longname=01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
172 dnl Skip the test if the directory can't be created (presumably the file
173 dnl system doesn't support such long names).
174 AT_CHECK([mkdir $longname || exit 77])
176 AT_CHECK([cd $longname && ovstest test-unix-socket ../$longname/socket socket])
179 AT_SETUP([unix socket, short pathname - Python3])
180 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
181 AT_KEYWORDS([python unixsocket])
182 AT_CHECK([$PYTHON3 $srcdir/test-unix-socket.py x])
185 dnl Unix sockets with long names are problematic because the name has to
186 dnl go in a fixed-length field in struct sockaddr_un. Generally the limit
187 dnl is about 100 bytes. On Linux, we work around this by indirecting through
188 dnl a directory fd using /proc/self/fd/<dirfd>. We do not have a workaround
189 dnl for other platforms, so we skip the test there.
190 AT_SETUP([unix socket, long pathname - Python3])
191 AT_SKIP_IF([test "$IS_WIN32" = "yes"])
192 AT_KEYWORDS([python unixsocket])
193 dnl Linux sockaddr_un has a 108-byte limit, so this needs to be longer.
194 dnl Linux "ecryptfs" has a 143-byte limit, so we use that many bytes.
195 longname=01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
197 dnl Skip the test if the directory can't be created (presumably the file
198 dnl system doesn't support such long names).
199 AT_CHECK([mkdir $longname || exit 77])
200 AT_CHECK([cd $longname && $PYTHON3 $abs_srcdir/test-unix-socket.py ../$longname/socket socket])
203 AT_SETUP([ovs_assert])
204 if test "$IS_WIN32" = "yes"; then
210 AT_CHECK([ovstest test-util -voff -vfile:info '-vPATTERN:file:%c|%p|%m' --log-file assert],
211 [$exit_status], [], [stderr])
213 AT_CHECK([sed 's/\(opened log file\) .*/\1/
214 s/|[[^|]]*: /|/' test-util.log], [0], [dnl
215 vlog|INFO|opened log file
216 util|EMER|assertion false failed in test_assert()
219 AT_CHECK([sed 's/.*: //
221 [assertion false failed in test_assert()
226 AT_SETUP([saturating arithmetic])
227 AT_KEYWORDS([sat math sat_math])
228 AT_CHECK([ovstest test-util sat_math])
232 AT_CHECK([ovstest test-util snprintf])
235 AT_SETUP([bitmap functions])
236 AT_CHECK([ovstest test-bitmap check], [0], [..
240 AT_SETUP([use of public headers])
241 AT_CHECK([test-lib], [0], [])
244 AT_SETUP([ofpbuf module])
245 AT_CHECK([ovstest test-ofpbuf], [0], [])
249 AT_CHECK([ovstest test-rcu-quiesce], [0], [])
252 AT_SETUP([stopwatch module])
253 AT_CHECK([ovstest test-stopwatch], [0], [......