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.
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; \
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"
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.