From 7454ec7a7494039ad339af5c0825fcc856bc6ffb Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp@nicira.com>
Date: Thu, 15 Jul 2010 10:50:33 -0700
Subject: [PATCH] tests: Disable profiling for "wait-until must wait" test.

This test tends to break when run with lcov profiling since the lcov
wrapper script can't synchronize access to profiling data across all the
ovs-vsctl instances running in parallel.
---
 tests/automake.mk     | 2 +-
 tests/lcov-wrapper.in | 5 +++++
 tests/ovs-vsctl.at    | 6 ++++++
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/tests/automake.mk b/tests/automake.mk
index 51205d9b..48aa5aa1 100644
--- a/tests/automake.mk
+++ b/tests/automake.mk
@@ -92,7 +92,7 @@ LCOV = lcov -b $(abs_top_builddir) -d $(abs_top_builddir) -q
 check-lcov: all tests/atconfig tests/atlocal $(TESTSUITE) $(lcov_wrappers)
 	rm -fr tests/coverage.html tests/coverage.info
 	$(LCOV) -c -i -o - > tests/coverage.info
-	$(SHELL) '$(TESTSUITE)' -C tests CHECK_LCOV=true AUTOTEST_PATH='tests/lcov:$(AUTOTEST_PATH)' $(TESTSUITEFLAGS); \
+	$(SHELL) '$(TESTSUITE)' -C tests CHECK_LCOV=true DISABLE_LCOV=false AUTOTEST_PATH='tests/lcov:$(AUTOTEST_PATH)' $(TESTSUITEFLAGS); \
 		rc=$$?; \
 		echo "Producing coverage.html..."; \
 		cd tests && genhtml -q -o coverage.html coverage.info; \
diff --git a/tests/lcov-wrapper.in b/tests/lcov-wrapper.in
index 1981cdae..0c6a3591 100755
--- a/tests/lcov-wrapper.in
+++ b/tests/lcov-wrapper.in
@@ -31,6 +31,11 @@ fi
 PATH=$new_path
 export PATH
 
+if test "$DISABLE_LCOV" = true; then
+    exec $wrap_program "$@"
+    exit 1
+fi
+
 # XXX Probably want some kind of synchronization here to deal with
 # programs running in parallel.
 LCOV="lcov -b $abs_top_builddir -d $abs_top_builddir -q"
diff --git a/tests/ovs-vsctl.at b/tests/ovs-vsctl.at
index fa882b0c..061a4f48 100644
--- a/tests/ovs-vsctl.at
+++ b/tests/ovs-vsctl.at
@@ -721,6 +721,12 @@ AT_CLEANUP
 
 AT_SETUP([database commands -- wait-until must wait])
 AT_KEYWORDS([ovs-vsctl])
+
+# Disable lcov for this test.  All the programs running in parallel
+# race badly on access to profiling data.
+DISABLE_LCOV=true
+export DISABLE_LCOV
+
 OVS_VSCTL_SETUP
 
 # Start ovs-vsctls in background.
-- 
2.30.2