Setting tag sliver-openvswitch-2.2.90-1
[sliver-openvswitch.git] / tests / library.at
index ca5f29c..8aeec48 100644 (file)
@@ -2,35 +2,44 @@ AT_BANNER([library unit tests])
 
 AT_SETUP([test flow extractor])
 AT_CHECK([$PERL `which flowgen.pl` >/dev/null 3>flows 4>pcap])
-AT_CHECK([test-flows <flows 3<pcap], [0], [checked 247 packets, 0 errors
+AT_CHECK([ovstest test-flows <flows 3<pcap], [0], [checked 247 packets, 0 errors
 ])
 AT_CLEANUP
 
 AT_SETUP([test TCP/IP checksumming])
-AT_CHECK([test-csum], [0], [....#....#....##................................#................................#
+AT_CHECK([ovstest test-csum], [0], [....#....#....###................................#................................#
 ])
 AT_CLEANUP
 
 AT_SETUP([test hash functions])
-AT_CHECK([test-hash])
+AT_CHECK([ovstest test-hash])
 AT_CLEANUP
 
 AT_SETUP([test hash map])
-AT_CHECK([test-hmap], [0], [.........
+AT_CHECK([ovstest test-hmap], [0], [.........
 ])
 AT_CLEANUP
 
+AT_SETUP([test hash index])
+AT_CHECK([ovstest test-hindex], [0], [.....................
+])
+AT_CLEANUP
+
+AT_SETUP([test atomic operations])
+AT_CHECK([ovstest test-atomic])
+AT_CLEANUP
+
 AT_SETUP([test linked lists])
-AT_CHECK([test-list], [0], [..
+AT_CHECK([ovstest test-list], [0], [..
 ])
 AT_CLEANUP
 
 AT_SETUP([test packet library])
-AT_CHECK([test-packets])
+AT_CHECK([ovstest test-packets])
 AT_CLEANUP
 
 AT_SETUP([test SHA-1])
-AT_CHECK([test-sha1], [0], [.........
+AT_CHECK([ovstest test-sha1], [0], [.........
 ])
 AT_CLEANUP
 
@@ -45,11 +54,11 @@ AT_CLEANUP
 
 AT_SETUP([test byte order conversion])
 AT_KEYWORDS([byte order])
-AT_CHECK([test-byte-order])
+AT_CHECK([ovstest test-byte-order])
 AT_CLEANUP
 
 AT_SETUP([test random number generator])
-AT_CHECK([test-random], [0], [dnl
+AT_CHECK([ovstest test-random], [0], [dnl
 average=7fa2014f
 
 bit      0     1
@@ -100,12 +109,44 @@ nibble   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
 ])
 AT_CLEANUP
 
-AT_SETUP([test log_2_floor])
-AT_CHECK([test-util])
+m4_foreach(
+  [testname],
+  [[ctz],
+   [clz],
+   [round_up_pow2],
+   [round_down_pow2],
+   [count_1bits],
+   [log_2_floor],
+   [bitwise_copy],
+   [bitwise_zero],
+   [bitwise_one],
+   [bitwise_is_all_zeros],
+   [ovs_scan]],
+  [AT_SETUP([testname[()] function])
+   AT_KEYWORDS([testname])
+   AT_CHECK([ovstest test-util testname], [0], [], [])
+   AT_CLEANUP])
+
+AT_SETUP([test unix socket, short pathname - C])
+AT_CHECK([ovstest test-unix-socket x])
 AT_CLEANUP
 
-AT_SETUP([test unix socket -- short pathname])
-AT_CHECK([test-unix-socket x])
+dnl Unix sockets with long names are problematic because the name has to
+dnl go in a fixed-length field in struct sockaddr_un.  Generally the limit
+dnl is about 100 bytes.  On Linux, we work around this by indirecting through
+dnl a directory fd using /proc/self/fd/<dirfd>.  We do not have a workaround
+dnl for other platforms, so we skip the test there.
+AT_SETUP([test unix socket, long pathname - C])
+dnl Linux has a 108 byte limit; this is 150 bytes long.
+longname=012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+mkdir $longname
+cd $longname
+AT_CHECK([ovstest test-unix-socket ../$longname/socket socket])
+AT_CLEANUP
+
+AT_SETUP([test unix socket, short pathname - Python])
+AT_SKIP_IF([test $HAVE_PYTHON = no])
+AT_CHECK([$PYTHON $srcdir/test-unix-socket.py x])
 AT_CLEANUP
 
 dnl Unix sockets with long names are problematic because the name has to
@@ -113,20 +154,34 @@ dnl go in a fixed-length field in struct sockaddr_un.  Generally the limit
 dnl is about 100 bytes.  On Linux, we work around this by indirecting through
 dnl a directory fd using /proc/self/fd/<dirfd>.  We do not have a workaround
 dnl for other platforms, so we skip the test there.
-AT_SETUP([test unix socket -- long pathname])
-AT_CHECK([dnl
-    case `uname` in dnl (
-      *[[lL]]inux*)
-        exit 0
-        ;; dnl (
-      *)
-        dnl Magic exit code to tell Autotest to skip this test.
-        exit 77
-        ;;
-    esac
-])
+AT_SETUP([test unix socket, long pathname - Python])
+AT_SKIP_IF([test $HAVE_PYTHON = no])
 dnl Linux has a 108 byte limit; this is 150 bytes long.
-mkdir 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
-cd 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
-AT_CHECK([test-unix-socket ../012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789/socket socket])
+longname=012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+mkdir $longname
+cd $longname
+AT_CHECK([$PYTHON $abs_srcdir/test-unix-socket.py ../$longname/socket socket])
+AT_CLEANUP
+
+AT_SETUP([ovs_assert])
+OVS_LOGDIR=`pwd`; export OVS_LOGDIR
+AT_CHECK([ovstest test-util -voff -vfile:info '-vPATTERN:file:%c|%p|%m' --log-file assert || kill -l $?],
+  [0], [ABRT
+], [stderr])
+
+AT_CHECK([sed 's/\(opened log file\) .*/\1/
+s/|[[^|]]*: /|/' test-util.log], [0], [dnl
+vlog|INFO|opened log file
+util|EMER|assertion false failed in test_assert()
+])
+
+AT_CHECK([sed 's/.*: //
+1q' stderr], [0],
+  [assertion false failed in test_assert()
+])
+
+AT_CLEANUP
+
+AT_SETUP([snprintf])
+AT_CHECK([ovstest test-util snprintf])
 AT_CLEANUP