X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Fovsdb-server.at;h=86179bdf9a83ca9412a6096c764ddf264ab6843c;hb=b53d5c33bc91bdd2e46c67aec3af04a4dc020e26;hp=63111d1c9e3c7a11b823a18599f54a485eae59cb;hpb=eadd16449c6e5292603cf009d29ab0e249979717;p=sliver-openvswitch.git diff --git a/tests/ovsdb-server.at b/tests/ovsdb-server.at index 63111d1c9..86179bdf9 100644 --- a/tests/ovsdb-server.at +++ b/tests/ovsdb-server.at @@ -194,9 +194,8 @@ AT_CHECK([ovsdb-client list-tables unix:socket constraints], [0], [ignore], [ign AT_CHECK([ovsdb-client list-tables unix:socket ordinals], [0], [ignore], [ignore]) # Add an already added database. -AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/add-db db2], 2, [], [stderr]) -AT_CHECK([sed 's/(.*)/(...)/' stderr], [0], - [I/O error: db2: failed to lock lockfile (...) +AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/add-db db2], 2, [], + [db2: already open ovs-appctl: ovsdb-server: server returned an error ]) @@ -676,7 +675,7 @@ if test -e /proc/sys/net/core/rmem_max; then # Linux rmem_max=`cat /proc/sys/net/core/rmem_max` elif rmem_max=`sysctl -n net.inet.tcp.recvbuf_max 2>/dev/null`; then - : # FreeBSD + : # FreeBSD, NetBSD else # Don't know how to get maximum socket receive buffer on this OS AT_SKIP_IF([:]) @@ -685,9 +684,12 @@ fi # Calculate the number of iterations we need to queue. Each of the # iterations we execute, by itself, yields a monitor update of about # 25 kB, so fill up that much space plus a few for luck. -n_iterations=`expr $rmem_max / 2500 + 5` +n_iterations=`expr $rmem_max / 25000 + 5` echo rmem_max=$rmem_max n_iterations=$n_iterations +# If there's too much queuing skip the test to avoid timing out. +AT_SKIP_IF([test $rmem_max -gt 1048576]) + # Calculate the exact number of monitor updates expected for $n_iterations, # assuming no updates are combined. The "extra" update is for the initial # contents of the database. @@ -748,31 +750,6 @@ AT_CHECK([test $logged_updates -lt $n_updates]) AT_CHECK_UNQUOTED([ovs-vsctl get open_vswitch . system_version], [0], ["xyzzy$counter" ]) - -# Start an ovsdb-client monitoring all changes to the database, -# without making it block, and then execute the same transactions that -# we did before. -AT_CHECK([ovsdb-client --detach --no-chdir --pidfile monitor ALL >ovsdb-client.out 2>ovsdb-client.err]) -for i in `seq 1 $n_iterations`; do - echo "unblocked update ($i of $n_iterations)" - trigger_big_update - - # Make sure that ovsdb-client gets enough CPU time to process the updates. - ovs-appctl -t ovsdb-client version > /dev/null -done -OVS_WAIT_UNTIL([grep "\"xyzzy$counter\"" ovsdb-client.out]) -AT_CHECK([ovs-appctl -t ovsdb-client exit]) -OVS_WAIT_WHILE([test -e ovsdb-client.pid]) - -# The ovsdb-client output should have exactly $n_updates updates. -# -# Also check that the counter is what we expect. -logged_updates=`grep -c '^Open_vSwitch' ovsdb-client.out` -echo "logged_updates=$logged_updates (expected $n_updates)" -AT_CHECK([test $logged_updates -eq $n_updates]) -AT_CHECK_UNQUOTED([ovs-vsctl get open_vswitch . system_version], [0], - ["xyzzy$counter" -]) AT_CLEANUP AT_BANNER([OVSDB -- ovsdb-server transactions (SSL IPv4 sockets)])