tests: Avoid daemon race between pidfile creation and parent notification.
authorBen Pfaff <blp@nicira.com>
Mon, 23 Apr 2012 17:05:50 +0000 (10:05 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 23 Apr 2012 21:11:19 +0000 (14:11 -0700)
This was causing "check-valgrind" to sometimes fail in this test.

Signed-off-by: Ben Pfaff <blp@nicira.com>
tests/daemon.at

index 69fff258c314c0afc36948703e4b16323f4d2faa..f188e7cbc2e91b097340072050399b896df3a5da 100644 (file)
@@ -39,6 +39,11 @@ AT_CHECK(
    parent=`cat parent` && 
    test $parentpid = $parent],
   [0], [], [], [kill `cat parent`])
+# Avoid a race between pidfile creation and notifying the parent,
+# which can easily trigger if ovsdb-server is slow (e.g. due to valgrind).
+OVS_WAIT_UNTIL(
+  [ovs-appctl --timeout=10 -t "`pwd`/unixctl" version],
+  [kill `cat pid`])
 # Kill the daemon process, making it look like a segfault,
 # and wait for a new child process to get spawned.
 AT_CHECK([cp pid oldpid], [0], [], [], [kill `cat parent`])