X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Flibrary.at;h=f84a55b31f6f1251a66ff5d7452afc055b4ba9e8;hb=85606e05b691be7c2f2d4bcf0e91170b71ec8fbb;hp=ec50e23ab9fd7bbce6b69c623e860185c1d98c69;hpb=7fcfe998c5e3356fe04fb183f9f33d3c9fbbb387;p=sliver-openvswitch.git diff --git a/tests/library.at b/tests/library.at index ec50e23ab..f84a55b31 100644 --- a/tests/library.at +++ b/tests/library.at @@ -20,6 +20,15 @@ AT_CHECK([test-hmap], [0], [......... ]) AT_CLEANUP +AT_SETUP([test hash index]) +AT_CHECK([test-hindex], [0], [.................. +]) +AT_CLEANUP + +AT_SETUP([test atomic operations]) +AT_CHECK([test-atomic]) +AT_CLEANUP + AT_SETUP([test linked lists]) AT_CHECK([test-list], [0], [.. ]) @@ -100,7 +109,21 @@ nibble 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ]) AT_CLEANUP -AT_SETUP([test unix socket -- short pathname]) +m4_foreach( + [testname], + [[ctz], + [popcount], + [log_2_floor], + [bitwise_copy], + [bitwise_zero], + [bitwise_one], + [bitwise_is_all_zeros]], + [AT_SETUP([testname[()] function]) + AT_KEYWORDS([testname]) + AT_CHECK([test-util testname], [0], [], []) + AT_CLEANUP]) + +AT_SETUP([test unix socket, short pathname - C]) AT_CHECK([test-unix-socket x]) AT_CLEANUP @@ -109,20 +132,50 @@ 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/. 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 - C]) +AT_SKIP_IF([test ! -d /proc/self/fd]) +dnl Linux has a 108 byte limit; this is 150 bytes long. +longname=012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 +mkdir $longname +cd $longname +AT_CHECK([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 +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/. We do not have a workaround +dnl for other platforms, so we skip the test there. +AT_SETUP([test unix socket, long pathname - Python]) +AT_SKIP_IF([test $HAVE_PYTHON = no]) +AT_SKIP_IF([test ! -d /proc/self/fd]) 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([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