tests --valgrind: provide a mode without --track-origins

With --valgrind=memcheck-fast, the tests run under memcheck but
without the autodetected --track-origins.  If you just run valgrind to
see *if* there is any memory issue with your program, the extra
information is not needed, and it comes at a roughly 30% hit in
runtime.

While it is possible to achieve the same through GIT_VALGRIND_OPTIONS,
this should be more discoverable and hopefully encourage more users to
run their tests with valgrind.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Thomas Rast 2013-03-31 10:00:17 +02:00 committed by Junio C Hamano
parent 952af3511c
commit 95d9d5ec75
2 changed files with 7 additions and 0 deletions

View file

@ -106,6 +106,11 @@ appropriately before running "make".
'drd', but you may use any tool recognized by your valgrind
installation.
As a special case, <tool> can be 'memcheck-fast', which uses
memcheck but disables --track-origins. Use this if you are
running tests in bulk, to see if there are _any_ memory
issues.
Note that memcheck is run with the option --leak-check=no,
as the git process is short-lived and some errors are not
interesting. In order to run a single command under the same

View file

@ -5,6 +5,8 @@ base=$(basename "$0")
TOOL_OPTIONS='--leak-check=no'
case "$GIT_VALGRIND_MODE" in
memcheck-fast)
;;
memcheck)
VALGRIND_VERSION=$(valgrind --version)
VALGRIND_MAJOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*\([0-9]*\)')