[ovs-dev] [PATCH] tests: Disable profiling for "wait-until must wait" test.

Ben Pfaff blp at nicira.com
Thu Jul 15 17:50:36 UTC 2010


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 deletions(-)

diff --git a/tests/automake.mk b/tests/automake.mk
index 51205d9..48aa5aa 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 1981cda..0c6a359 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 4f179b6..c7aeccd 100644
--- a/tests/ovs-vsctl.at
+++ b/tests/ovs-vsctl.at
@@ -724,6 +724,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.
-- 
1.7.1





More information about the dev mailing list