AT_INIT
-AT_COPYRIGHT([Copyright (c) 2009, 2010 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.
AT_TESTED([ovs-vsctl])
AT_TESTED([perl])
+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
+}
+]
+m4_divert_pop([PREPARE_TESTS])
+
m4_define([OVS_WAIT],
[AT_CHECK(
- [# 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
- $1
- # Then wait up to 10 seconds.
- for d in 0 1 2 3 4 5 6 7 8 9; do
- sleep 1
- $1
- done
- exit 1], [0], [ignore], [ignore], [$2])])
-
-m4_define([OVS_WAIT_UNTIL], [OVS_WAIT([if $1; then exit 0; fi], [$2])])
-m4_define([OVS_WAIT_WHILE], [OVS_WAIT([if $1; then :; else exit 0; fi], [$2])])
+ [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 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/lcov-pre.at])
+m4_include([tests/ofproto-macros.at])
+m4_include([tests/bfd.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/dir_name.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/timeval.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/stp.at])
m4_include([tests/ovs-vsctl.at])
-
-m4_include([tests/lcov-post.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/vlog.at])