summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarsten Blees <karsten.blees@gmail.com>2014-07-12 02:03:01 +0200
committerJunio C Hamano <gitster@pobox.com>2014-07-13 21:25:19 -0700
commit124647c4b007eff04144d75042d9d95f63e303f7 (patch)
treee63a8203700ce48fc39d780675ebaac879c92449
parentc69dfd24db21be54ec5a17bb3e07c81f4e96861a (diff)
downloadgit-124647c4b007eff04144d75042d9d95f63e303f7.tar.gz
trace: disable additional trace output for unit tests
Some unit-tests use trace output to verify internal state, and unstable output such as timestamps and line numbers are not useful there. Disable additional trace output if GIT_TRACE_BARE is set. Signed-off-by: Karsten Blees <blees@dcon.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--t/test-lib.sh4
-rw-r--r--trace.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 81394c8c7c..e37da5a220 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -109,6 +109,10 @@ export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME
export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME
export EDITOR
+# Tests using GIT_TRACE typically don't want <timestamp> <file>:<line> output
+GIT_TRACE_BARE=1
+export GIT_TRACE_BARE
+
if test -n "${TEST_GIT_INDEX_VERSION:+isset}"
then
GIT_INDEX_VERSION="$TEST_GIT_INDEX_VERSION"
diff --git a/trace.c b/trace.c
index 3d02bcc239..a194b16000 100644
--- a/trace.c
+++ b/trace.c
@@ -87,11 +87,17 @@ static const char err_msg[] = "Could not trace into fd given by "
static int prepare_trace_line(struct trace_key *key, struct strbuf *buf)
{
+ static struct trace_key trace_bare = TRACE_KEY_INIT(BARE);
+
if (!trace_want(key))
return 0;
set_try_to_free_routine(NULL); /* is never reset */
+ /* unit tests may want to disable additional trace output */
+ if (trace_want(&trace_bare))
+ return 1;
+
/* add line prefix here */
return 1;