From 1b3185fc2be3cc92a834fcfcb7110d1072184700 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 14 Sep 2012 20:38:24 -0700 Subject: [PATCH] MALLOC_CHECK: various clean-ups The most important in this change is to avoid affecting anything when test-lib is used from perf-lib. It also limits the effect of the MALLOC_CHECK only to what is run inside the actual test, and uses a fixed MALLOC_PERTURB_ in order to avoid hurting repeatability of the tests. Signed-off-by: Junio C Hamano --- t/perf/perf-lib.sh | 1 + t/test-lib.sh | 26 ++++++++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh index a1361e530c..1d0bb9d017 100644 --- a/t/perf/perf-lib.sh +++ b/t/perf/perf-lib.sh @@ -42,6 +42,7 @@ else fi TEST_NO_CREATE_REPO=t +TEST_NO_MALLOC_=t . ../test-lib.sh diff --git a/t/test-lib.sh b/t/test-lib.sh index b0c0c84714..aad46066ad 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -95,12 +95,24 @@ export EDITOR # Add libc MALLOC and MALLOC_PERTURB test # only if we are not executing the test with valgrind -expr "$GIT_TEST_OPTS" : ".*\(--valgrind\)" >/dev/null || { - MALLOC_CHECK_=3 - export MALLOC_CHECK_ - MALLOC_PERTURB_="$( expr \( $$ % 255 \) + 1)" - export MALLOC_PERTURB_ -} +if expr " $GIT_TEST_OPTS " : ".* --valgrind " >/dev/null || + test -n "TEST_NO_MALLOC_" +then + setup_malloc_check () { + : nothing + } + teardown_malloc_check () { + : nothing + } +else + setup_malloc_check () { + MALLOC_CHECK_=3 MALLOC_PERTURB_=165 + export MALLOC_CHECK_ MALLOC_PERTURB_ + } + teardown_malloc_check () { + unset MALLOC_CHECK_ MALLOC_PERTURB_ + } +fi # Protect ourselves from common misconfiguration to export # CDPATH into the environment @@ -311,7 +323,9 @@ test_run_ () { if test -z "$immediate" || test $eval_ret = 0 || test -n "$expecting_failure" then + setup_malloc_check test_eval_ "$test_cleanup" + teardown_malloc_check fi if test "$verbose" = "t" && test -n "$HARNESS_ACTIVE" then -- 2.11.4.GIT