Tools such as gcov rely on normal termination (via exit()), ensure consistent graceful termination of daemons in tests by using the OVS_APP_EXIT_AND_WAIT() macro.
Signed-off-by: Lance Richardson <lrich...@redhat.com> --- tests/bridge.at | 2 + tests/completion.at | 2 +- tests/daemon.at | 2 +- tests/interface-reconfigure.at | 2 + tests/ofproto-dpif.at | 77 ++++++++++++++++++------------------ tests/ofproto-macros.at | 4 +- tests/ofproto.at | 68 ++++++++++++++++---------------- tests/ovn-controller-vtep.at | 12 +++--- tests/ovn-controller.at | 15 ++++++- tests/ovn-nbctl.at | 2 +- tests/ovn-sbctl.at | 6 ++- tests/ovn.at | 88 ++++++++++++++++++++++++++++++++++++++---- tests/ovs-vswitchd.at | 8 ++-- tests/ovsdb-monitor.at | 4 +- tests/ovsdb-server.at | 15 ++++--- tests/vlog.at | 6 ++- 16 files changed, 205 insertions(+), 108 deletions(-) diff --git a/tests/bridge.at b/tests/bridge.at index c9ad1e6..0561186 100644 --- a/tests/bridge.at +++ b/tests/bridge.at @@ -35,4 +35,6 @@ dummy@ovs-dummy: hit:0 missed:0 br0 65534/100: (dummy) p1 1/1: (dummy) ]) +OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP diff --git a/tests/completion.at b/tests/completion.at index 79093f9..e28c752 100644 --- a/tests/completion.at +++ b/tests/completion.at @@ -77,7 +77,7 @@ AT_CHECK_UNQUOTED([GET_AVAIL(${INPUT})], [0], [dnl ${MATCH} ])]) -AT_CHECK([ovs-appctl --target ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) OVS_VSWITCHD_STOP AT_CLEANUP diff --git a/tests/daemon.at b/tests/daemon.at index 51d56c5..41c5d07 100644 --- a/tests/daemon.at +++ b/tests/daemon.at @@ -83,7 +83,7 @@ if test "$IS_WIN32" = "yes"; then # When a 'kill pid' is done on windows (through 'taskkill //F'), # pidfiles are not deleted (because it is force kill), so use # 'ovs-appctl exit' instead - ovs-appctl -t `pwd`/unixctl exit + OVS_APP_EXIT_AND_WAIT([`pwd`/unixctl]) else kill `cat pid` fi diff --git a/tests/interface-reconfigure.at b/tests/interface-reconfigure.at index 22a3e2e..668f63d 100644 --- a/tests/interface-reconfigure.at +++ b/tests/interface-reconfigure.at @@ -1048,4 +1048,6 @@ AT_CHECK([ovs-vsctl set int p1 type=gre options:remote_ip=127.0.0.1]) AT_CHECK([ovs-vsctl del-port p1]) AT_CHECK([ovs-vsctl add-port br0 p1 -- set int p1 type=dummy]) +OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at index bf6661d..167678a 100644 --- a/tests/ofproto-dpif.at +++ b/tests/ofproto-dpif.at @@ -723,7 +723,7 @@ Datapath actions: set(ipv6(hlimit=127)),2,set(ipv6(hlimit=126)),3,4 AT_CAPTURE_FILE([ofctl_monitor.log]) AT_CHECK([ovs-ofctl -P nxt_packet_in monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log]) AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=111,tos=0,ttl=2,frag=no)' -generate], [0], [stdout]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): table_id=1 cookie=0x0 total_len=34 in_port=1 (via invalid_ttl) data_len=34 (unbuffered) ip,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_proto=111,nw_tos=0,nw_ecn=0,nw_ttl=1 @@ -899,7 +899,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(syn)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): cookie=0x0 total_len=60 in_port=1 (via no_match) data_len=60 (unbuffered) tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=9,tcp_flags=syn tcp_csum:0 @@ -934,7 +934,7 @@ dnl Test that missed packets are droped for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(ack,syn)' done -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl ]) @@ -962,7 +962,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(urg|rst)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=1 (via no_match) data_len=60 (unbuffered) tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=9,tcp_flags=rst|urg tcp_csum:0 @@ -998,7 +998,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(0x010)' done -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl ]) @@ -1028,7 +1028,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=10:11:11:11:11:11,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(0x010)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): table_id=1 cookie=0x0 total_len=60 in_port=1 (via action) data_len=60 (unbuffered) @@ -1048,7 +1048,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(0x010)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): table_id=253 cookie=0x0 total_len=60 in_port=1 (via no_match) data_len=60 (unbuffered) @@ -1111,7 +1111,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(0x010)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): table_id=253 cookie=0x0 total_len=60 in_port=1 (via no_match) data_len=60 (unbuffered) @@ -1165,7 +1165,7 @@ AT_CHECK([ovs-ofctl monitor br0 65534 -P nxt_packet_in --detach --no-chdir --pid for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(0x010)' done -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl ]) @@ -1195,7 +1195,7 @@ dnl Test that missed packets are droped for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(0x010)' done -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl ]) @@ -1225,7 +1225,7 @@ dnl Test that missed packets are droped for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(0x010)' done -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl ]) @@ -1256,7 +1256,7 @@ dnl Test that missed packets are droped for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(0x010)' done -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl ]) @@ -1381,7 +1381,7 @@ for i in 1 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=20:22:22:22:22:22,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=11),tcp_flags(0x001)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 18]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): cookie=0x1 total_len=60 in_port=1 (via action) data_len=60 (unbuffered) @@ -1419,7 +1419,7 @@ for i in 1 ; do ovs-appctl netdev-dummy/receive p1 '50 54 00 00 00 07 20 22 22 22 22 22 08 00 45 00 00 1C 00 00 00 00 00 11 00 00 C0 A8 00 01 C0 A8 00 02 00 08 00 0B 00 00 12 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 18]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): cookie=0x1 total_len=60 in_port=1 (via action) data_len=60 (unbuffered) @@ -1458,7 +1458,7 @@ for i in 1 2 3; do done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 18]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): cookie=0xd total_len=60 in_port=1 (via action) data_len=60 (unbuffered) arp,vlan_tci=0x0000,dl_src=80:88:88:88:88:88,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=192.168.0.1,arp_tpa=192.168.0.2,arp_op=2,arp_sha=50:54:00:00:00:05,arp_tha=00:00:00:00:00:00 @@ -1491,7 +1491,7 @@ done AT_CHECK([ovs-appctl time/warp 1000], [0], [ignore]) OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 18]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): cookie=0x1 total_len=98 in_port=1 (via action) data_len=98 (unbuffered) sctp,vlan_tci=0x0000,dl_src=20:22:22:22:22:22,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=1112,tp_dst=2223 sctp_csum:d9d79157 @@ -1750,7 +1750,7 @@ for i in 1 2 3; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:44:49,dst=50:54:00:00:00:07),eth_type(0x8847),mpls(label=10,tc=3,ttl=64,bos=1)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered) @@ -2703,7 +2703,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=10:11:11:11:11:11,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=10),tcp_flags(0x002)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=1 (via action) data_len=60 (unbuffered) @@ -2743,7 +2743,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=10:11:11:11:11:11,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=10),tcp_flags(0x002)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore]) @@ -2796,7 +2796,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=10:11:11:11:11:11,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=10),tcp_flags(0x002)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ovs-appctl revalidator/purge], [0]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl @@ -2858,7 +2858,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=10:11:11:11:11:11,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=10),tcp_flags(0x002)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ovs-appctl revalidator/purge], [0]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl @@ -2905,7 +2905,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=10:11:11:11:11:11,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=10),tcp_flags(0x002)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore]) @@ -2973,7 +2973,7 @@ for i in 1 2 3 ; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=10:11:11:11:11:11,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=10),tcp_flags(0x002)' done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore]) @@ -3271,7 +3271,7 @@ for i in 1 2 3; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:00:02,dst=50:54:00:00:00:07),eth_type(0x8847),mpls(label=10,tc=0,ttl=64,bos=1)' done OVS_WAIT_UNTIL([test `grep OFPT_PACKET_IN ofctl_monitor.log | wc -l` -ge 3]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < ofctl_monitor.log], [0], [dnl OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64 (unbuffered) @@ -3647,7 +3647,7 @@ for i in 1 2 3; do ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:54:59,dst=50:54:00:00:00:07),eth_type(0x8100),vlan(vid=88,pcp=7),encap(eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no))' done OVS_WAIT_UNTIL([test `grep OFPT_PACKET_IN ofctl_monitor.log | wc -l` -ge 3]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < ofctl_monitor.log], [0], [dnl OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64 (unbuffered) @@ -5031,7 +5031,7 @@ m4_define([CHECK_SFLOW_SAMPLING_PACKET], dnl from each datasource so we can check sequence numbers ovs-appctl time/warp 3000 100 OVS_VSWITCHD_STOP - ovs-appctl -t test-sflow exit + OVS_APP_EXIT_AND_WAIT([test-sflow]) AT_CHECK_UNQUOTED([[sort sflow.log | $EGREP 'HEADER|ERROR' | sed 's/ /\ /g']], [0], [dnl @@ -5353,7 +5353,7 @@ dnl sleep long enough to get the sFlow datagram flushed out (may be delayed for AT_CHECK([ovs-appctl time/warp 2000 100], [0], [ignore]) AT_CHECK([ovs-appctl revalidator/purge], [0]) OVS_VSWITCHD_STOP -ovs-appctl -t test-sflow exit +OVS_APP_EXIT_AND_WAIT([test-sflow]) AT_CHECK([[sort sflow.log | $EGREP 'LACPCOUNTERS|ERROR' | head -n 1 | sed 's/ /\ /g']], [0], [dnl LACPCOUNTERS @@ -5407,7 +5407,7 @@ for i in `seq 1 30`; do ovs-appctl time/warp 100 done -ovs-appctl -t test-sflow exit +OVS_APP_EXIT_AND_WAIT([test-sflow]) AT_CHECK_UNQUOTED([[sort sflow.log | $EGREP 'HEADER|ERROR' | sed 's/ /\ /g']], [0], [dnl @@ -5505,7 +5505,7 @@ for i in `seq 1 30`; do ovs-appctl time/warp 100 done -ovs-appctl -t test-sflow exit +OVS_APP_EXIT_AND_WAIT([test-sflow]) AT_CHECK_UNQUOTED([[sort sflow.log | $EGREP 'HEADER|ERROR' | sed 's/ /\ /g']], [0], [dnl @@ -5574,7 +5574,7 @@ for i in `seq 1 30`; do ovs-appctl time/warp 100 done -ovs-appctl -t test-sflow exit +OVS_APP_EXIT_AND_WAIT([test-sflow]) AT_CHECK_UNQUOTED([[sort sflow.log | $EGREP 'HEADER|ERROR' | sed 's/ /\ /g']], [0], [dnl @@ -5669,7 +5669,7 @@ m4_define([CHECK_NETFLOW_EXPIRATION], ovs-appctl time/warp 6000 ovs-appctl revalidator/wait OVS_VSWITCHD_STOP - ovs-appctl -t test-netflow exit + OVS_APP_EXIT_AND_WAIT([test-netflow]) AT_CHECK([test `grep "192.168.0.1 > 192.168.0.2, if 1 > 65535, 1 pkts, 60 bytes, ICMP 8:0" netflow.log | wc -l` -eq 1]) @@ -5720,7 +5720,7 @@ m4_define([CHECK_NETFLOW_ACTIVE_EXPIRATION], ovs-appctl revalidator/wait OVS_VSWITCHD_STOP - ovs-appctl -t test-netflow exit + OVS_APP_EXIT_AND_WAIT([test-netflow]) # Count the number of reported packets: # - From source to destination before MAC learning kicks in (just one). @@ -6428,6 +6428,7 @@ m4_define([CHECK_MEGAFLOW_NETFLOW], recirc_id=0,icmp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,nw_src=10.0.0.2,nw_dst=10.0.0.1,nw_tos=0,nw_frag=no,icmp_type=0x8/0xff,icmp_code=0x0/0xff, actions: <del> recirc_id=0,icmp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:0b,dl_dst=50:54:00:00:00:0c,nw_src=10.0.0.4,nw_dst=10.0.0.3,nw_tos=0,nw_frag=no,icmp_type=0x8/0xff,icmp_code=0x0/0xff, actions: <del> ]) + OVS_APP_EXIT_AND_WAIT([test-netflow]) OVS_VSWITCHD_STOP]) AT_SETUP([ofproto-dpif megaflow - netflow - IPv4 collector]) @@ -7038,7 +7039,7 @@ for i in 1 2 3; do AT_CHECK([ovs-ofctl -O OpenFlow13 packet-out br0 CONTROLLER controller '50540000000a5054000000091234']) done -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): total_len=14 in_port=CONTROLLER (via action) data_len=14 (unbuffered) vlan_tci=0x0000,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,dl_type=0x1234 @@ -7089,7 +7090,7 @@ for i in 1 2 3; do AT_CHECK([ovs-ofctl -O OpenFlow13 packet-out br0 CONTROLLER output:1 '50540000000a5054000000091234']) done -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): cookie=0x0 total_len=14 in_port=1 (via no_match) data_len=14 (unbuffered) vlan_tci=0x0000,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,dl_type=0x1234 @@ -7144,7 +7145,7 @@ for i in 1 2 3; do done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): table_id=1 cookie=0x0 total_len=60 in_port=1 (via action) data_len=60 (unbuffered) vlan_tci=0x0000,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,dl_type=0x1234 @@ -7195,7 +7196,7 @@ for i in 1 2 3; do done OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6]) -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): table_id=1 cookie=0x0 total_len=60 in_port=1 (via action) data_len=60 (unbuffered) vlan_tci=0x0000,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,dl_type=0x1234 @@ -7241,7 +7242,7 @@ AT_CHECK([ovs-ofctl monitor br0 65534 -P nxt_packet_in --detach --no-chdir --pid ovs-appctl netdev-dummy/receive p1 '0060970769ea0000860580da86dd6000000000203afffe80000000000000020086fffe0580dafe80000000000000026097fffe0769ea870068bd00000000fe80000000000000026097fffe0769ea01010000860580da' -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): cookie=0x0 total_len=86 in_port=1 (via no_match) data_len=86 (unbuffered) @@ -7262,7 +7263,7 @@ AT_CHECK([ovs-ofctl monitor br0 65534 -P nxt_packet_in --detach --no-chdir --pid ovs-appctl netdev-dummy/receive p1 '0060970769ea0000860580da86dd6000000000203afffe80000000000000020086fffe0580dafe80000000000000026097fffe0769ea870068bd00000000fe80000000000000026097fffe0769ea01010000860580da' -OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([cat ofctl_monitor.log], [0], [dnl NXT_PACKET_IN (xid=0x0): cookie=0x0 total_len=86 in_port=1 (via action) data_len=86 (unbuffered) diff --git a/tests/ofproto-macros.at b/tests/ofproto-macros.at index 637675c..627f3bf 100644 --- a/tests/ofproto-macros.at +++ b/tests/ofproto-macros.at @@ -382,8 +382,8 @@ m4_divert_pop([PREPARE_TESTS]) # OVS_VSWITCHD_STOP(["/expected error/d"]) m4_define([OVS_VSWITCHD_STOP], [AT_CHECK([check_logs $1]) - AT_CHECK([ovs-appctl -t ovs-vswitchd exit]) - AT_CHECK([ovs-appctl -t ovsdb-server exit])]) + OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) + OVS_APP_EXIT_AND_WAIT([ovsdb-server])]) m4_define([OVS_VSWITCHD_DISABLE_TUNNEL_PUSH_POP], [AT_CHECK([ovs-appctl ofproto/tnl-push-pop off], [0], [dnl diff --git a/tests/ofproto.at b/tests/ofproto.at index 880fbc0..848d06b 100644 --- a/tests/ofproto.at +++ b/tests/ofproto.at @@ -16,7 +16,7 @@ ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log AT_CAPTURE_FILE([monitor.log]) ovs-appctl -t ovs-ofctl ofctl/send 0205000801234567 ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([sed 's/ (xid=0x[[0-9a-fA-F]]*)// /ECHO/d' monitor.log], [0], [dnl @@ -2620,7 +2620,7 @@ ovs-appctl -t ovs-ofctl ofctl/send 010400180000000300002320000000140000000000000 ovs-appctl -t ovs-ofctl ofctl/send 0104001400000002000023200000000a00000001 check_async 7 OFPR_ACTION OFPPR_ADD -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) OVS_VSWITCHD_STOP AT_CLEANUP @@ -2723,7 +2723,7 @@ ovs-appctl -t ovs-ofctl ofctl/send 030400180000000300002320000000140000000000000 ovs-appctl -t ovs-ofctl ofctl/send 031800180000000400000002000000000000000000000002 check_async 7 OFPR_ACTION OFPPR_ADD -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) OVS_VSWITCHD_STOP AT_CLEANUP @@ -2832,7 +2832,7 @@ ovs-appctl -t ovs-ofctl ofctl/send 040400180000000300002320000000140000000000000 ovs-appctl -t ovs-ofctl ofctl/send 041800180000000400000002000000000000000000000002 check_async 6 OFPR_ACTION OFPPR_ADD -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) OVS_VSWITCHD_STOP AT_CLEANUP @@ -3032,7 +3032,7 @@ ovs-appctl -t ovs-ofctl ofctl/send 050400180000000300002320000000140000000000000 ovs-appctl -t ovs-ofctl ofctl/send 051800180000000400000002000000000000000000000002 check_async 6 OFPR_ACTION OFPPR_ADD OFPPR_MODIFY OFPRR_DELETE -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) OVS_VSWITCHD_STOP AT_CLEANUP @@ -3105,7 +3105,7 @@ check_async 2 OFPPR_ADD OFPPR_MODIFY OFPPR_DELETE # Set-async has changed in OF 1.4 and is not yet implemented. -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) OVS_VSWITCHD_STOP AT_CLEANUP @@ -3350,7 +3350,7 @@ AT_CHECK([ovs-ofctl packet-out br0 controller controller,1 '00010203040500102030 # Stop the monitor and check its output. ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) ovs-ofctl dump-ports br0 @@ -3385,7 +3385,7 @@ AT_CHECK([ovs-ofctl -O OpenFlow12 packet-out br0 4294967293 controller '00010203 # Stop the monitor and check its output. ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([sed 's/ (xid=0x[[0-9a-fA-F]]*)//' monitor.log], [0], [dnl OFPT_PACKET_IN (OF1.2): total_len=14 in_port=ANY (via action) data_len=14 (unbuffered) @@ -3418,7 +3418,7 @@ AT_CHECK([ovs-ofctl -O OpenFlow11 packet-out br0 4294967293 controller '00010203 # Stop the monitor and check its output. ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([sed 's/ (xid=0x[[0-9a-fA-F]]*)//' monitor.log], [0], [dnl OFPT_PACKET_IN (OF1.1): total_len=14 in_port=ANY (via action) data_len=14 (unbuffered) @@ -3447,7 +3447,7 @@ AT_CHECK([ovs-ofctl packet-out br0 controller 'load(0xfafafafa5a5a5a5a->OXM_OF_M # Stop the monitor and check its output. ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([sed 's/ (xid=0x[[0-9a-fA-F]]*)//' monitor.log], [0], [dnl NXT_PACKET_IN2: total_len=14 pkt_mark=0xaa,metadata=0xfafafafa5a5a5a5a,in_port=CONTROLLER (via action) data_len=14 (unbuffered) @@ -3476,7 +3476,7 @@ AT_CHECK([ovs-ofctl packet-out br0 controller 'load(0xfafafafa5a5a5a5a->OXM_OF_M # Stop the monitor and check its output. ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([sed 's/ (xid=0x[[0-9a-fA-F]]*)//' monitor.log], [0], [dnl NXT_PACKET_IN: total_len=14 pkt_mark=0xaa,metadata=0xfafafafa5a5a5a5a,in_port=CONTROLLER (via action) data_len=14 (unbuffered) @@ -3504,7 +3504,7 @@ AT_CHECK([ovs-ofctl -O OpenFlow12 packet-out br0 none 'set_field:0xfafafafa5a5a5 # Stop the monitor and check its output. ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([sed 's/ (xid=0x[[0-9a-fA-F]]*)//' monitor.log], [0], [dnl OFPT_PACKET_IN (OF1.2): total_len=14 metadata=0xfafafafa5a5a5a5a,in_port=ANY (via action) data_len=14 (unbuffered) @@ -3532,7 +3532,7 @@ AT_CHECK([ovs-ofctl -O OpenFlow13 packet-out br0 none 'set_field:0xfafafafa5a5a5 # Stop the monitor and check its output. ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([sed 's/ (xid=0x[[0-9a-fA-F]]*)//' monitor.log], [0], [dnl OFPT_PACKET_IN (OF1.3): total_len=14 metadata=0x6b,in_port=ANY (via action) data_len=14 (unbuffered) @@ -3559,7 +3559,7 @@ AT_CHECK([ovs-ofctl -O OpenFlow12 packet-out br0 none 'set_field:127.0.0.1->tun_ # Stop the monitor and check its output. ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([sed 's/ (xid=0x[[0-9a-fA-F]]*)//' monitor.log], [0], [dnl OFPT_PACKET_IN (OF1.2): total_len=14 tun_id=0x1020304,tun_src=127.0.0.1,tun_dst=192.168.0.1,in_port=ANY (via action) data_len=14 (unbuffered) @@ -3725,7 +3725,7 @@ NXST_FLOW_MONITOR reply (xid=0x0): OFPT_BARRIER_REPLY: ]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) OVS_VSWITCHD_STOP AT_CLEANUP @@ -3766,7 +3766,7 @@ NXST_FLOW_MONITOR reply (xid=0x0): OFPT_BARRIER_REPLY: ]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) OVS_VSWITCHD_STOP AT_CLEANUP @@ -3818,7 +3818,7 @@ NXST_FLOW_MONITOR reply (xid=0x0): OFPT_BARRIER_REPLY: ]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) OVS_VSWITCHD_STOP AT_CLEANUP @@ -3879,7 +3879,7 @@ ovs-appctl -t ovs-ofctl ofctl/unblock # https://www.mail-archive.com/dev@openvswitch.org/msg27675.html OVS_WAIT_UNTIL([grep NXT_FLOW_MONITOR_RESUMED monitor.log]) -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) # Check that the flow monitor reported the same number of flows # added and deleted, but fewer than we actually added and deleted. @@ -4035,7 +4035,7 @@ AT_CAPTURE_FILE([monitor.log]) # Send an OpenFlow14 message (05), OFPT_BUNDLE_CONTROL (21), length (10), xid (0a) ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 00 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [], [dnl send: OFPT_BUNDLE_CONTROL (OF1.4): @@ -4061,7 +4061,7 @@ ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 00 00 ovs-appctl -t ovs-ofctl ofctl/barrier ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 00 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: OFPT_BUNDLE_CONTROL (OF1.4): @@ -4090,7 +4090,7 @@ AT_CAPTURE_FILE([monitor.log]) ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 02 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: OFPT_BUNDLE_CONTROL (OF1.4): @@ -4119,7 +4119,7 @@ ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 02 00 ovs-appctl -t ovs-ofctl ofctl/barrier ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 02 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: OFPT_BUNDLE_CONTROL (OF1.4): @@ -4156,7 +4156,7 @@ ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 00 00 ovs-appctl -t ovs-ofctl ofctl/barrier ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 02 00 01" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: OFPT_BUNDLE_CONTROL (OF1.4): @@ -4186,7 +4186,7 @@ AT_CAPTURE_FILE([monitor.log]) # Open, Close, Close ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 04 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: OFPT_BUNDLE_CONTROL (OF1.4): @@ -4213,7 +4213,7 @@ ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 00 00 ovs-appctl -t ovs-ofctl ofctl/barrier ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 04 00 01" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: OFPT_BUNDLE_CONTROL (OF1.4): @@ -4243,7 +4243,7 @@ AT_CAPTURE_FILE([monitor.log]) # Open, Close, Close ovs-appctl -t ovs-ofctl ofctl/send "05 21 00 10 00 00 00 0a 00 00 00 01 00 06 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: OFPT_BUNDLE_CONTROL (OF1.4): @@ -4517,7 +4517,7 @@ AT_CAPTURE_FILE([monitor.log]) # message type (0000), and flags (0002) ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 FC 00 00 00 01 00 00 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [], [dnl send: ONFT_BUNDLE_CONTROL (OF1.3): @@ -4546,7 +4546,7 @@ ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 ovs-appctl -t ovs-ofctl ofctl/barrier ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 FC 00 00 00 01 00 00 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: ONFT_BUNDLE_CONTROL (OF1.3): @@ -4575,7 +4575,7 @@ AT_CAPTURE_FILE([monitor.log]) ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 FC 00 00 00 01 00 02 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: ONFT_BUNDLE_CONTROL (OF1.3): @@ -4604,7 +4604,7 @@ ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 ovs-appctl -t ovs-ofctl ofctl/barrier ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 FC 00 00 00 01 00 02 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: ONFT_BUNDLE_CONTROL (OF1.3): @@ -4641,7 +4641,7 @@ ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 ovs-appctl -t ovs-ofctl ofctl/barrier ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 FC 00 00 00 01 00 02 00 01" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: ONFT_BUNDLE_CONTROL (OF1.3): @@ -4671,7 +4671,7 @@ AT_CAPTURE_FILE([monitor.log]) # Commit ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 FC 00 00 00 01 00 04 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: ONFT_BUNDLE_CONTROL (OF1.3): @@ -4698,7 +4698,7 @@ ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 ovs-appctl -t ovs-ofctl ofctl/barrier ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 FC 00 00 00 01 00 04 00 01" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: ONFT_BUNDLE_CONTROL (OF1.3): @@ -4728,7 +4728,7 @@ AT_CAPTURE_FILE([monitor.log]) # Discard ovs-appctl -t ovs-ofctl ofctl/send "04 04 00 18 00 00 00 0a 4F 4E 46 00 00 00 08 FC 00 00 00 01 00 06 00 02" ovs-appctl -t ovs-ofctl ofctl/barrier -ovs-appctl -t ovs-ofctl exit +OVS_APP_EXIT_AND_WAIT([ovs-ofctl]) AT_CHECK([ofctl_strip < monitor.log], [0], [dnl send: ONFT_BUNDLE_CONTROL (OF1.3): diff --git a/tests/ovn-controller-vtep.at b/tests/ovn-controller-vtep.at index bc2f2dc..f0f9163 100644 --- a/tests/ovn-controller-vtep.at +++ b/tests/ovn-controller-vtep.at @@ -87,13 +87,11 @@ m4_define([OVN_CONTROLLER_VTEP_STOP], # database will fail with 'Broken pipe' error. AT_CHECK([check_logs "$1 /Broken pipe/d"]) - AT_CHECK([ovs-appctl -t ovs-vtep exit]) - AT_CHECK([ovs-appctl -t ovn-northd exit]) - AT_CHECK([ovs-appctl -t ovn-controller-vtep exit]) - # makes sure ovn-controller-vtep exits. - OVS_WAIT_UNTIL([test ! -f ovn-controller-vtep.pid]) - AT_CHECK([ovs-appctl -t ovsdb-server exit]) - AT_CHECK([ovs-appctl -t ovs-vswitchd exit])]) + OVS_APP_EXIT_AND_WAIT([ovs-vtep]) + OVS_APP_EXIT_AND_WAIT([ovn-northd]) + OVS_APP_EXIT_AND_WAIT([ovn-controller-vtep]) + OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])]) # Adds logical port for a vtep gateway chassis in ovn-nb database. # diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at index 2ff56af..971ea1e 100644 --- a/tests/ovn-controller.at +++ b/tests/ovn-controller.at @@ -114,6 +114,17 @@ AT_CHECK([ovn-sbctl \ -- set Port_Binding baz type='""' options='{}']) check_patches -# Gracefully terminate ovn-controller -ovs-appctl -t ovn-controller exit +# Gracefully terminate daemons +as hv +OVS_APP_EXIT_AND_WAIT([ovn-controller]) +OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +as main +OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +as ovn-sb +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + AT_CLEANUP diff --git a/tests/ovn-nbctl.at b/tests/ovn-nbctl.at index 45e9da8..063e01d 100644 --- a/tests/ovn-nbctl.at +++ b/tests/ovn-nbctl.at @@ -26,7 +26,7 @@ m4_define([OVN_NBCTL_TEST_STOP], # database will fail with 'Broken pipe' error. AT_CHECK([check_logs "$1 /Broken pipe/d"]) - AT_CHECK([ovs-appctl -t ovsdb-server exit])]) + OVS_APP_EXIT_AND_WAIT([ovsdb-server])]) AT_SETUP([ovn-nbctl - basic lswitch commands]) diff --git a/tests/ovn-sbctl.at b/tests/ovn-sbctl.at index 755c1f6..6a58012 100644 --- a/tests/ovn-sbctl.at +++ b/tests/ovn-sbctl.at @@ -35,8 +35,8 @@ m4_define([OVN_SBCTL_TEST_STOP], # database will fail with 'Broken pipe' error. AT_CHECK([check_logs "$1 /Broken pipe/d"]) - AT_CHECK([ovs-appctl -t ovn-northd exit]) - AT_CHECK([ovs-appctl -t ovsdb-server exit])]) + OVS_APP_EXIT_AND_WAIT([ovn-northd]) + OVS_APP_EXIT_AND_WAIT([ovsdb-server])]) dnl --------------------------------------------------------------------- @@ -68,6 +68,8 @@ AT_CHECK([ovn-sbctl -f csv -d bare --no-headings --columns ip,type list encap | ]) OVN_SBCTL_TEST_STOP +as ovn-sb +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP dnl --------------------------------------------------------------------- diff --git a/tests/ovn.at b/tests/ovn.at index 5cb7d8b..6a6e5c2 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -782,9 +782,26 @@ for i in 1 2 3; do done # Gracefully terminate daemons -for daemon in ovn-controller ovn-northd ovsdb-server; do - ovs-appctl -t $daemon exit +for sim in hv1 hv2 hv3; do + as $sim + OVS_APP_EXIT_AND_WAIT([ovn-controller]) + OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) + OVS_APP_EXIT_AND_WAIT([ovsdb-server]) done + +as ovn-sb +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +as ovn-nb +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +as northd +OVS_APP_EXIT_AND_WAIT([ovn-northd]) + +as main +OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + AT_CLEANUP # 2 hypervisors, 4 logical ports per HV @@ -934,9 +951,25 @@ for i in 1 2; do done # Gracefully terminate daemons -for daemon in ovn-controller ovn-northd ovsdb-server; do - ovs-appctl -t $daemon exit +for sim in hv1 hv2; do + as $sim + OVS_APP_EXIT_AND_WAIT([ovn-controller]) + OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) + OVS_APP_EXIT_AND_WAIT([ovsdb-server]) done + +as ovn-sb +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +as ovn-nb +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +as northd +OVS_APP_EXIT_AND_WAIT([ovn-northd]) + +as main +OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP AT_SETUP([ovn -- 3 HVs, 1 VIFs/HV, 1 GW, 1 LS]) @@ -1095,8 +1128,30 @@ for i in 1 2 3; do done # Gracefully terminate daemons -for daemon in ovs-vtep ovn-controller-vtep ovn-controller ovn-northd ovsdb-server; do - ovs-appctl -t $daemon exit +as vtep +OVS_APP_EXIT_AND_WAIT([ovn-controller-vtep]) +OVS_APP_EXIT_AND_WAIT([ovs-vtep]) + +as hv1 +OVS_APP_EXIT_AND_WAIT([ovn-controller]) + +as hv2 +OVS_APP_EXIT_AND_WAIT([ovn-controller]) + +as ovn-sb +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +as ovn-nb +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +as northd +OVS_APP_EXIT_AND_WAIT([ovn-northd]) + +for sim in hv1 hv2 hv3 vtep main; do + as $sim + for daemon in ovs-vswitchd ovsdb-server; do + OVS_APP_EXIT_AND_WAIT([$daemon]) + done done AT_CLEANUP @@ -1372,7 +1427,24 @@ for i in 1 2 3; do done # Gracefully terminate daemons -for daemon in ovn-controller ovn-northd ovsdb-server; do - ovs-appctl -t $daemon exit +for sim in hv1 hv2 hv3; do + as $sim + OVS_APP_EXIT_AND_WAIT([ovn-controller]) + OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) + OVS_APP_EXIT_AND_WAIT([ovsdb-server]) done + +as ovn-sb +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +as ovn-nb +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +as northd +OVS_APP_EXIT_AND_WAIT([ovn-northd]) + +as main +OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + AT_CLEANUP diff --git a/tests/ovs-vswitchd.at b/tests/ovs-vswitchd.at index 848daa3..816d0a2 100644 --- a/tests/ovs-vswitchd.at +++ b/tests/ovs-vswitchd.at @@ -20,6 +20,8 @@ AT_CHECK([ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-sy AT_CAPTURE_FILE([ovs-vswitchd.log]) dnl ovs-vswitchd detached OK or we wouldn't have made it this far. Success. +OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP @@ -74,7 +76,7 @@ ovs-vswitchd --log-file=fakelog --unixctl="`pwd`"/unixctl & sleep 5 # stop the process. -ovs-appctl -t `pwd`/unixctl exit +OVS_APP_EXIT_AND_WAIT([`pwd`/unixctl]) # check the fakelog, should only see one ERR for reporting # the existing ovs-vswitchd process. @@ -110,7 +112,7 @@ bridge br0: using datapath ID ]) # stop the process. -ovs-appctl -t `pwd`/unixctl exit +OVS_APP_EXIT_AND_WAIT([`pwd`/unixctl]) # check the fakelog, should not see WARN/ERR/EMER log other than the one # for reporting the existing ovs-vswitchd process and the one for killing @@ -136,7 +138,7 @@ ovs-vswitchd unix:invalid.db.sock --log-file=fakelog --enable-dummy --unixctl="` sleep 10 # stop the process. -ovs-appctl -t `pwd`/unixctl exit +OVS_APP_EXIT_AND_WAIT([`pwd`/unixctl]) # should not see this log (which indicates high cpu utilization). AT_CHECK([grep "wakeup due to" fakelog], [ignore]) diff --git a/tests/ovsdb-monitor.at b/tests/ovsdb-monitor.at index 0dbf5b0..37383fa 100644 --- a/tests/ovsdb-monitor.at +++ b/tests/ovsdb-monitor.at @@ -39,8 +39,8 @@ m4_define([OVSDB_CHECK_MONITOR], [ignore], [ignore], [kill `cat server-pid client-pid`])]) AT_CHECK([ovsdb-client transact unix:socket '[["$4"]]'], [0], [ignore], [ignore], [kill `cat server-pid client-pid`]) - AT_CHECK([ovs-appctl -t "`pwd`"/unixctl -e exit], [0], [ignore], [ignore]) - OVS_WAIT_UNTIL([test ! -e server-pid && test ! -e client-pid]) + OVS_APP_EXIT_AND_WAIT(["`pwd`"/unixctl]) + OVS_WAIT_UNTIL([test ! -e client-pid]) AT_CHECK([${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl], [0], [$7], [ignore]) AT_CLEANUP]) diff --git a/tests/ovsdb-server.at b/tests/ovsdb-server.at index c869d6f..de40330 100644 --- a/tests/ovsdb-server.at +++ b/tests/ovsdb-server.at @@ -1,9 +1,7 @@ AT_BANNER([OVSDB -- ovsdb-server transactions (Unix sockets)]) m4_define([OVSDB_SERVER_SHUTDOWN], - [cp pid savepid - AT_CHECK([ovs-appctl -t "`pwd`"/unixctl -e exit], [0], [ignore], [ignore]) - OVS_WAIT_WHILE([kill -0 `cat savepid`], [kill `cat savepid`])]) + [OVS_APP_EXIT_AND_WAIT(["`pwd`"/unixctl])]) # OVSDB_CHECK_EXECUTION(TITLE, SCHEMA, TRANSACTIONS, OUTPUT, [KEYWORDS]) # @@ -244,6 +242,7 @@ AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/list-dbs], [0], [constraints ]) AT_CHECK([ovsdb-client list-tables unix:socket constraints], [0], [ignore], [ignore]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP AT_SETUP([ovsdb-server/add-db with --monitor]) @@ -275,6 +274,7 @@ AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/list-dbs], [0], [constraints ordinals ]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP AT_SETUP([ovsdb-server/add-db and remove-db with --monitor]) @@ -304,6 +304,7 @@ OVS_WAIT_UNTIL( AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/list-dbs], [0], [ordinals ]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP AT_SETUP([--remote=db: implementation]) @@ -367,6 +368,7 @@ AT_CHECK( [[[{"rows":[{"managers":"punix:socket1"}]},{"rows":[{"is_connected":false,"target":"punix:socket2"}]}] ]], [ignore]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP AT_SETUP([ovsdb-server/add-remote and remove-remote]) @@ -419,6 +421,7 @@ AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/remove-remote punix:socket2]) OVS_WAIT_UNTIL([test ! -e socket2]) AT_CHECK([test ! -e socket1]) AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/list-remotes]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP AT_SETUP([ovsdb-server/add-remote with --monitor]) @@ -448,6 +451,7 @@ OVS_WAIT_WHILE([kill -0 `cat old.pid`]) OVS_WAIT_UNTIL( [test -s ovsdb-server.pid && test `cat ovsdb-server.pid` != `cat old.pid`]) OVS_WAIT_UNTIL([test -S socket1]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP AT_SETUP([ovsdb-server/add-remote and remove-remote with --monitor]) @@ -481,6 +485,7 @@ OVS_WAIT_WHILE([kill -0 `cat old.pid`]) OVS_WAIT_UNTIL( [test -s ovsdb-server.pid && test `cat ovsdb-server.pid` != `cat old.pid`]) AT_CHECK([test ! -e socket1]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP AT_SETUP([SSL db: implementation]) @@ -748,8 +753,7 @@ done AT_CHECK([ovs-appctl -t ovsdb-client ovsdb-client/unblock]) OVS_WAIT_UNTIL([grep "\"xyzzy$counter\"" ovsdb-client.out]) OVS_WAIT_UNTIL([grep "\"xyzzy$counter\"" ovsdb-client-nonblock.out]) -AT_CHECK([ovs-appctl -t ovsdb-client exit]) -OVS_WAIT_WHILE([test -e ovsdb-client.pid]) +OVS_APP_EXIT_AND_WAIT([ovsdb-client]) AT_CHECK([kill `cat nonblock.pid`]) # Count the number of updates in the ovsdb-client output, by counting @@ -767,6 +771,7 @@ AT_CHECK([test $logged_updates -lt $logged_nonblock_updates]) AT_CHECK_UNQUOTED([ovs-vsctl get open_vswitch . system_version], [0], ["xyzzy$counter" ]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP AT_BANNER([OVSDB -- ovsdb-server transactions (SSL IPv4 sockets)]) diff --git a/tests/vlog.at b/tests/vlog.at index 00ebd92..ec2bd61 100644 --- a/tests/vlog.at +++ b/tests/vlog.at @@ -184,6 +184,7 @@ AT_CHECK([APPCTL -t test-unixctl vlog/reopen], [2], [], [Logging to file not configured ovs-appctl: test-unixctl: server returned an error ]) +OVS_APP_EXIT_AND_WAIT([test-unixctl]) AT_CLEANUP m4_define([VLOG_REOPEN_WITHOUT_FILE_PYN], @@ -391,6 +392,7 @@ ovs-appctl: test-unixctl: server returned an error AT_CHECK([APPCTL -t test-unixctl vlog/set pattern:file:'I<3OVS|%m']) AT_CHECK([APPCTL -t test-unixctl log patterntest]) AT_CHECK([grep -q 'I<3OVS' log]) +OVS_APP_EXIT_AND_WAIT([test-unixctl]) AT_CLEANUP m4_define([VLOG_SET_AND_LIST_PYN], @@ -458,7 +460,7 @@ AT_CHECK([ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema]) AT_CHECK([ovsdb-server --detach --no-chdir --pidfile \ --remote=punix:$OVS_RUNDIR/db.sock -vPATTERN:file:"<%B>1 %A %m" \ --log-file], [0], [], [stderr]) -AT_CHECK([ovs-appctl -t ovsdb-server exit]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) # A default facility of LOG_LOCAL0 while writing to file. AT_CHECK([head -1 ovsdb-server.log | awk '{print $1}'], [0], [<133>1 @@ -479,7 +481,7 @@ ovs-appctl: ovsdb-server: server returned an error AT_CHECK([ovs-appctl -t ovsdb-server vlog/set FACILITY:local7]) AT_CHECK([ovs-appctl -t ovsdb-server vlog/set ANY:file:DBG]) -AT_CHECK([ovs-appctl -t ovsdb-server exit]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CHECK([tail -1 ovsdb-server.log | awk '{print $1}'], [0], [<191>1 ]) -- 2.5.0 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev