[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