Fix parallel valgrind (valgrind_check)

Summary:
I just realized that when we run parallel valgrind we actually don't run the parallel tests under valgrind (we run the normally)
This patch make sure that we run both parallel and non-parallel tests with valgrind

Test Plan: DISABLE_JEMALLOC=1 make valgrind_check -j64

Reviewers: andrewkr, yiwu, lightmark, sdong

Reviewed By: sdong

Subscribers: andrewkr, dhruba

Differential Revision: https://reviews.facebook.net/D62469
This commit is contained in:
Islam AbdelRahman 2016-08-25 11:02:39 -07:00
parent a081f798b0
commit 4b3438d2d6

View File

@ -570,7 +570,7 @@ $(parallel_tests): $(PARALLEL_TEST)
'#!/bin/sh' \ '#!/bin/sh' \
"d=\$(TMPD)$$TEST_SCRIPT" \ "d=\$(TMPD)$$TEST_SCRIPT" \
'mkdir -p $$d' \ 'mkdir -p $$d' \
"TEST_TMPDIR=\$$d ./$$TEST_BINARY --gtest_filter=$$TEST_NAME" \ "TEST_TMPDIR=\$$d $(DRIVER) ./$$TEST_BINARY --gtest_filter=$$TEST_NAME" \
> $$TEST_SCRIPT; \ > $$TEST_SCRIPT; \
chmod a=rx $$TEST_SCRIPT; \ chmod a=rx $$TEST_SCRIPT; \
done done
@ -643,8 +643,8 @@ valgrind_check_0:
| $(prioritize_long_running_tests) \ | $(prioritize_long_running_tests) \
| grep -E '$(tests-regexp)' \ | grep -E '$(tests-regexp)' \
| build_tools/gnu_parallel -j$(J) --plain --joblog=LOG $$eta --gnu \ | build_tools/gnu_parallel -j$(J) --plain --joblog=LOG $$eta --gnu \
'if [[ "{}" == "./"* ]] ; then $(DRIVER) {} >& t/valgrind_log-{/}; ' \ '(if [[ "{}" == "./"* ]] ; then $(DRIVER) {}; else {}; fi) ' \
'else {} >& t/valgrind_log-{/}; fi' '>& t/valgrind_log-{/}'
CLEAN_FILES += t LOG $(TMPD) CLEAN_FILES += t LOG $(TMPD)
@ -721,7 +721,7 @@ ubsan_crash_test:
$(MAKE) clean $(MAKE) clean
valgrind_check: $(TESTS) valgrind_check: $(TESTS)
$(MAKE) gen_parallel_tests $(MAKE) DRIVER="$(VALGRIND_VER) $(VALGRIND_OPTS)" gen_parallel_tests
$(AM_V_GEN)if test "$(J)" != 1 \ $(AM_V_GEN)if test "$(J)" != 1 \
&& (build_tools/gnu_parallel --gnu --help 2>/dev/null) | \ && (build_tools/gnu_parallel --gnu --help 2>/dev/null) | \
grep -q 'GNU Parallel'; \ grep -q 'GNU Parallel'; \