This change set introduces new macros to simplify and consolidate process termination handling for OVN test cases.
Signed-off-by: Lance Richardson <lrich...@redhat.com> --- tests/ofproto-macros.at | 47 ++++++++ tests/ovn-controller.at | 11 +- tests/ovn.at | 277 +++--------------------------------------------- 3 files changed, 64 insertions(+), 271 deletions(-) diff --git a/tests/ofproto-macros.at b/tests/ofproto-macros.at index 27c8b83..da49eb2 100644 --- a/tests/ofproto-macros.at +++ b/tests/ofproto-macros.at @@ -110,6 +110,53 @@ as() { fi } +# OVN_CLEANUP_VSWITCH(sim) +# +# Gracefully terminate vswitch daemons in the +# specified sandbox. +m4_define([OVN_CLEANUP_VSWITCH],[ + as $1 + OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) + OVS_APP_EXIT_AND_WAIT([ovsdb-server]) +]) + +# OVN_CLEANUP_SBOX(sbox) +# +# Gracefully terminate OVN daemons in the specified +# sandbox instance. The sandbox name "vtep" is treated +# as a special case, and is assumed to have ovn-controller-vtep +# and ovs-vtep daemons running instead of ovn-controller. +m4_define([OVN_CLEANUP_SBOX],[ + as $1 + if test "$1" = "vtep"; then + OVS_APP_EXIT_AND_WAIT([ovn-controller-vtep]) + OVS_APP_EXIT_AND_WAIT([ovs-vtep]) + else + OVS_APP_EXIT_AND_WAIT([ovn-controller]) + fi + OVN_CLEANUP_VSWITCH([$1]) +]) + +# OVN_CLEANUP(sim [, sim ...]) +# +# Gracefully terminate all OVN daemons, including those in the +# specified sandbox instances. +m4_define([OVN_CLEANUP],[ + m4_foreach([sbox], [$@], [ + OVN_CLEANUP_SBOX([sbox]) + ]) + 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]) + + OVN_CLEANUP_VSWITCH([main]) +]) + # ovn_init_db DATABASE # # Creates and initializes the given DATABASE (one of "ovn-sb" or "ovn-nb"), diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at index b20a746..a2349a4 100644 --- a/tests/ovn-controller.at +++ b/tests/ovn-controller.at @@ -144,15 +144,8 @@ AT_CHECK([ovn-sbctl \ check_patches # 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]) - +OVN_CLEANUP_SBOX([hv]) +OVN_CLEANUP_VSWITCH([main]) as ovn-sb OVS_APP_EXIT_AND_WAIT_BY_TARGET([$ovs_base/ovn-sb/ovsdb-server-2.ctl], [$ovs_base/ovn-sb/ovsdb-server-2.pid]) OVS_APP_EXIT_AND_WAIT([ovsdb-server]) diff --git a/tests/ovn.at b/tests/ovn.at index decc90d..b0ea226 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -908,26 +908,7 @@ for i in 1 2 3; do done done -# Gracefully terminate daemons -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]) +OVN_CLEANUP([hv1],[hv2],[hv3]) AT_CLEANUP @@ -1112,26 +1093,8 @@ for i in 1 2; do done done -# Gracefully terminate daemons -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]) +OVN_CLEANUP([hv1],[hv2]) -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 -- vtep: 3 HVs, 1 VIFs/HV, 1 GW, 1 LS]) @@ -1312,31 +1275,9 @@ for i in 1 2 3; do done # Gracefully terminate daemons -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]) +OVN_CLEANUP([hv1],[hv2],[vtep]) +OVN_CLEANUP_VSWITCH([hv3]) -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 # Similar test to "hardware GW" @@ -1924,25 +1865,7 @@ AT_CHECK_UNQUOTED([sort < mac_bindings], [0], [`sort < mac_bindings.expected` ]) # Gracefully terminate daemons -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]) +OVN_CLEANUP([hv1], [hv2], [hv3]) AT_CLEANUP @@ -2335,26 +2258,7 @@ for i in 1 2 3; do done done -# Gracefully terminate daemons -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]) +OVN_CLEANUP([hv1],[hv2],[hv3]) AT_CLEANUP @@ -2481,25 +2385,7 @@ $PYTHON "$top_srcdir/utilities/ovs-pcap.in" hv2/vif1-tx.pcap | trim_zeros > rece echo $expected | trim_zeros > expout AT_CHECK([cat received.packets], [0], [expout]) -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]) +OVN_CLEANUP([hv1],[hv2]) AT_CLEANUP @@ -2623,23 +2509,7 @@ echo $expected | trim_zeros > expout AT_CHECK([cat received.packets], [0], [expout]) -as hv1 -OVS_APP_EXIT_AND_WAIT([ovn-controller]) -OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) -OVS_APP_EXIT_AND_WAIT([ovsdb-server]) - -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]) +OVN_CLEANUP([hv1]) AT_CLEANUP @@ -2800,25 +2670,7 @@ $PYTHON "$top_srcdir/utilities/ovs-pcap.in" hv1/vif2-tx.pcap | trim_zeros > rece echo $expected | trim_zeros > expout AT_CHECK([cat received1.packets], [0], [expout]) -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]) +OVN_CLEANUP([hv1],[hv2]) AT_CLEANUP @@ -2866,23 +2718,7 @@ cat packets AT_CHECK([ovs-vsctl del-port localvif1]) AT_CHECK([ovn-nbctl lsp-del ln_port]) -as hv -OVS_APP_EXIT_AND_WAIT([ovn-controller]) -OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) -OVS_APP_EXIT_AND_WAIT([ovsdb-server]) - -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]) +OVN_CLEANUP([hv]) AT_CLEANUP @@ -3067,25 +2903,7 @@ $PYTHON "$top_srcdir/utilities/ovs-pcap.in" hv1/vif2-tx.pcap | trim_zeros > rece echo $expected | trim_zeros > expout AT_CHECK([cat received1.packets], [0], [expout]) -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]) +OVN_CLEANUP([hv1],[hv2]) AT_CLEANUP @@ -3237,25 +3055,7 @@ $PYTHON "$top_srcdir/utilities/ovs-pcap.in" hv2/vif1-tx.pcap | trim_zeros > rece echo $expected | trim_zeros > expout AT_CHECK([cat received1.packets], [0], [expout]) -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]) +OVN_CLEANUP([hv1],[hv2]) AT_CLEANUP @@ -3408,23 +3208,7 @@ for inport in 1 2; do AT_CHECK([cat received.packets], [0], [expout]) done -as hv1 -OVS_APP_EXIT_AND_WAIT([ovn-controller]) -OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) -OVS_APP_EXIT_AND_WAIT([ovsdb-server]) - -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]) +OVN_CLEANUP([hv1]) AT_CLEANUP @@ -3450,23 +3234,8 @@ OVS_WAIT_UNTIL([test x`ovn-nbctl lsp-get-up lp1` = xup]) as hv1 ovs-vsctl del-port br-int vif1 OVS_WAIT_UNTIL([test x`ovn-nbctl lsp-get-up lp1` = xdown]) -as hv1 -OVS_APP_EXIT_AND_WAIT([ovn-controller]) -OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) -OVS_APP_EXIT_AND_WAIT([ovsdb-server]) - -as ovn-sb -OVS_APP_EXIT_AND_WAIT([ovsdb-server]) - -as ovn-nb -OVS_APP_EXIT_AND_WAIT([ovsdb-server]) +OVN_CLEANUP([hv1]) -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 -- nd ]) @@ -3547,22 +3316,6 @@ for i in 1 2; do AT_CHECK([cat $i.packets], [0], [expout]) done -as hv1 -OVS_APP_EXIT_AND_WAIT([ovn-controller]) -OVS_APP_EXIT_AND_WAIT([ovs-vswitchd]) -OVS_APP_EXIT_AND_WAIT([ovsdb-server]) - -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]) +OVN_CLEANUP([hv1]) AT_CLEANUP -- 2.5.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev