diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-09-25 10:40:14 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-09-25 10:40:15 -0700 |
commit | 0ec6aa567a2ad94960ad71e35d814d5abda027f3 (patch) | |
tree | 852e2c05e38a731eea403d64c43f8884a34a0540 | |
parent | Merge branch 'aj/xfuncname-ada' (diff) | |
parent | MALLOC_CHECK: various clean-ups (diff) | |
download | tgif-0ec6aa567a2ad94960ad71e35d814d5abda027f3.tar.xz |
Merge branch 'ep/malloc-check-perturb'
Run our test scripts with MALLOC_CHECK_ and MALLOC_PERTURB_, the
built-in memory access checking facility GNU libc has.
* ep/malloc-check-perturb:
MALLOC_CHECK: various clean-ups
Add MALLOC_CHECK_ and MALLOC_PERTURB_ libc env to the test suite for detecting heap corruption
-rw-r--r-- | t/perf/perf-lib.sh | 1 | ||||
-rw-r--r-- | t/test-lib.sh | 23 |
2 files changed, 24 insertions, 0 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 f8e3733ea0..aad46066ad 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -93,6 +93,27 @@ export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME export EDITOR +# Add libc MALLOC and MALLOC_PERTURB test +# only if we are not executing the test with valgrind +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 unset CDPATH @@ -302,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 |