[ovs-dev] [RFC 1/4] tests: Make OVS_APP_EXIT_AND_WAIT() wait for process termination

Lance Richardson lrichard at redhat.com
Wed Mar 2 21:40:45 UTC 2016


Currently OVS_APP_EXIT_AND_WAIT() only waits for the pid file
to be removed.  When using gcov (and likely other utilities),
we need to ensure that the application has actually exited.

Also adding AT_CHECK() around the exit request to allow simplification
of tests using open-coded versions of this macro.

Signed-off-by: Lance Richardson <lrichard at redhat.com>
---
 tests/ovs-macros.at | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tests/ovs-macros.at b/tests/ovs-macros.at
index f2923b0..dc7b700 100644
--- a/tests/ovs-macros.at
+++ b/tests/ovs-macros.at
@@ -135,8 +135,9 @@ 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])])
+  [TMPPID=`cat "$OVS_RUNDIR"/$1.pid 2>/dev/null`
+   AT_CHECK([ovs-appctl -t $1 exit])
+   OVS_WAIT_WHILE([kill -0 $TMPPID 2>/dev/null])])
 
 dnl on_exit "COMMAND"
 dnl
-- 
2.5.0




More information about the dev mailing list