1 AT_TESTED([ovs-vswitchd])
5 m4_include([m4/compat.at])
7 m4_divert_push([PREPARE_TESTS])
10 # First try a quick sleep, so that the test completes very quickly
11 # in the normal case. POSIX doesn't require fractional times to
12 # work, so this might not work.
14 ovs_wait_cond && exit 0
15 # Then wait up to 10 seconds.
16 for d in 0 1 2 3 4 5 6 7 8 9; do
18 ovs_wait_cond && exit 0
23 # Prints the integers from $1 to $2, increasing by $3 (default 1) on stdout.
25 while test $1 -le $2; do
27 set `expr $1 + ${3-1}` $2 $3
31 if test "$IS_WIN32" = "yes"; then
37 command diff --strip-trailing-cr "$@"
45 # tasklist will always have return code 0.
46 # If pid does exist, there will be a line with the pid.
47 if tasklist //fi "PID eq $i" | grep $i >/dev/null; then
58 taskkill //F //PID $i >/dev/null
63 taskkill //F //PID $i >/dev/null
70 m4_divert_pop([PREPARE_TESTS])
74 [ovs_wait_cond () { $1
76 ovs_wait], [0], [ignore], [ignore], [$2])])
77 m4_define([OVS_WAIT_UNTIL], [OVS_WAIT([$1], [$2])])
78 m4_define([OVS_WAIT_WHILE],
79 [OVS_WAIT([if $1; then return 1; else return 0; fi], [$2])])
81 dnl OVS_APP_EXIT_AND_WAIT(DAEMON)
83 dnl Ask the daemon named DAEMON to exit, via ovs-appctl, and then waits for it
85 m4_define([OVS_APP_EXIT_AND_WAIT],
86 [ovs-appctl -t $1 exit
87 OVS_WAIT_WHILE([test -e $1.pid])])
89 dnl ON_EXIT([COMMANDS])
91 dnl Adds the shell COMMANDS to a collection executed when the current test
92 dnl completes, as a cleanup action. (The most common use is to kill a
93 dnl daemon started by the test. This is important to prevent tests that
94 dnl start daemons from hanging at exit.)
95 dnl The commands will be added will be tht first one to excute.
96 m4_define([ON_EXIT], [trap '. ./cleanup' 0; cat - cleanup << 'EOF' > __cleanup