X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Ftestsuite.at;h=264a15fd6860dc5fb9ed558882a1116e3dab0b1b;hb=HEAD;hp=f894c2a7797263afe125e0ce4d6a4caaf1ee9bf0;hpb=1d87357a1322c2faa290452c08c7f794c0be848b;p=sliver-openvswitch.git diff --git a/tests/testsuite.at b/tests/testsuite.at index f894c2a77..264a15fd6 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -1,6 +1,6 @@ AT_INIT -AT_COPYRIGHT([Copyright (c) 2009 Nicira Networks. +AT_COPYRIGHT([Copyright (c) 2009, 2010, 2011, 2012, 2013 Nicira, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,8 +15,143 @@ See the License for the specific language governing permissions and limitations under the License.]) AT_TESTED([ovs-vswitchd]) +AT_TESTED([ovs-vsctl]) +AT_TESTED([perl]) -m4_include([tests/lcov-pre.at]) +m4_divert_push([PREPARE_TESTS]) +[ +ovs_wait () { + # First try a quick sleep, so that the test completes very quickly + # in the normal case. POSIX doesn't require fractional times to + # work, so this might not work. + sleep 0.1 + ovs_wait_cond && exit 0 + # Then wait up to 10 seconds. + for d in 0 1 2 3 4 5 6 7 8 9; do + sleep 1 + ovs_wait_cond && exit 0 + done + exit 1 +} + +# Prints the integers from $1 to $2, increasing by $3 (default 1) on stdout. +seq () { + while test $1 -le $2; do + echo $1 + set `expr $1 + ${3-1}` $2 $3 + done +} + +if test "$IS_WIN32" = "yes"; then + pwd () { + command pwd -W "$@" + } + + diff () { + command diff --strip-trailing-cr "$@" + } + + kill () { + case "$1" in + -0) + shift + for i in $*; do + # tasklist will always have return code 0. + # If pid does exist, there will be a line with the pid. + if tasklist //fi "PID eq $i" | grep $i; then + : + else + return 1 + fi + done + return 0 + ;; + -[1-9]*) + shift + for i in $*; do + taskkill //F //PID $i + done + ;; + [1-9][1-9]*) + for i in $*; do + taskkill //F //PID $i + done + ;; + esac + } +fi +] +m4_divert_pop([PREPARE_TESTS]) + +m4_define([OVS_WAIT], + [AT_CHECK( + [ovs_wait_cond () { $1 +} +ovs_wait], [0], [ignore], [ignore], [$2])]) +m4_define([OVS_WAIT_UNTIL], [OVS_WAIT([$1], [$2])]) +m4_define([OVS_WAIT_WHILE], + [OVS_WAIT([if $1; then return 1; else return 0; fi], [$2])]) + +dnl OVS_APP_EXIT_AND_WAIT(DAEMON) +dnl +dnl Ask the daemon named DAEMON to exit, via ovs-appctl, and then waits for it +dnl to exit. +m4_define([OVS_APP_EXIT_AND_WAIT], + [ovs-appctl -t $1 exit + OVS_WAIT_WHILE([test -e $1.pid])]) + +dnl ON_EXIT([COMMANDS]) +dnl +dnl Adds the shell COMMANDS to a collection executed when the current test +dnl completes, as a cleanup action. (The most common use is to kill a +dnl daemon started by the test. This is important to prevent tests that +dnl start daemons from hanging at exit.) +m4_define([ON_EXIT], [trap '. ./cleanup' 0; cat >>cleanup <<'EOF' +$1 +EOF +]) + +m4_include([tests/ovsdb-macros.at]) +m4_include([tests/ofproto-macros.at]) + +m4_include([tests/bfd.at]) +m4_include([tests/cfm.at]) +m4_include([tests/lacp.at]) m4_include([tests/library.at]) +m4_include([tests/heap.at]) +m4_include([tests/bundle.at]) +m4_include([tests/classifier.at]) +m4_include([tests/check-structs.at]) +m4_include([tests/daemon.at]) +m4_include([tests/daemon-py.at]) +m4_include([tests/ofp-actions.at]) +m4_include([tests/ofp-print.at]) +m4_include([tests/ofp-util.at]) +m4_include([tests/ofp-errors.at]) +m4_include([tests/ovs-ofctl.at]) +m4_include([tests/odp.at]) +m4_include([tests/multipath.at]) +m4_include([tests/learn.at]) +m4_include([tests/vconn.at]) +m4_include([tests/file_name.at]) +m4_include([tests/aes128.at]) +m4_include([tests/unixctl-py.at]) +m4_include([tests/uuid.at]) +m4_include([tests/json.at]) +m4_include([tests/jsonrpc.at]) +m4_include([tests/jsonrpc-py.at]) +m4_include([tests/tunnel.at]) +m4_include([tests/lockfile.at]) +m4_include([tests/reconnect.at]) +m4_include([tests/ovs-vswitchd.at]) +m4_include([tests/ofproto.at]) +m4_include([tests/ofproto-dpif.at]) +m4_include([tests/vlan-splinters.at]) +m4_include([tests/ovsdb.at]) +m4_include([tests/ovs-vsctl.at]) +m4_include([tests/ovs-monitor-ipsec.at]) +m4_include([tests/ovs-xapi-sync.at]) +m4_include([tests/interface-reconfigure.at]) m4_include([tests/stp.at]) -m4_include([tests/lcov-post.at]) +m4_include([tests/vlog.at]) +m4_include([tests/vtep-ctl.at])