git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/3] tests --valgrind: provide a mode without --track-origins

From
Thomas Rast <trast@student.ethz.ch>
Date
Mar 31, 2013, 08:00 UTC
Message-ID
<560f4d3cedf1cf32331f864bae94124c02495c06.1364716452.git.trast@inf.ethz.ch>
In-Reply-To
<cover.1364716452.git.trast@inf.ethz.ch>
From: Thomas Rast <trast@inf.ethz.ch>

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>
---
 t/README               | 5 +++++
 t/valgrind/valgrind.sh | 2 ++
 2 files changed, 7 insertions(+)
diff --git a/t/README b/t/README
index f5ee40f..9b41fe7 100644
--- a/t/README
+++ b/t/README
@@ -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
diff --git a/t/valgrind/valgrind.sh b/t/valgrind/valgrind.sh
index 472ac2d..6b87c91 100755
--- a/t/valgrind/valgrind.sh
+++ b/t/valgrind/valgrind.sh
@@ -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]*\)')
-- 
1.8.2.467.gedf93a5
Previous: Thomas RastNext: Thomas Rast
Message 4 of 6 in “tests: --valgrind=tool”
  1. 0/3 tests: --valgrind=toolThomas Rast, Mar 31, 2013
  2. 1/3 t/README: --valgrind already implies -vThomas Rast, Mar 31, 2013
  3. 2/3 tests: parameterize --valgrind optionThomas Rast, Mar 31, 2013
  4. 3/3 tests --valgrind: provide a mode without --track-originsThomas Rast, Mar 31, 2013
  5. 3/4 tests: notice valgrind error in test_must_failThomas Rast, Mar 31, 2013
  6. Johannes SchindelinApr 1, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.