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>

Karsten Blees committed Jul 12, 2014 at 02:03 UTC 124647c4b007eff04144d75042d9d95f63e303f7
2 files changed +10
t/test-lib.sh
+4
@@ -109,6 +109,10 @@ export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME
109 export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME
110 export EDITOR
111
112 +# Tests using GIT_TRACE typically don't want <timestamp> <file>:<line> output
113 +GIT_TRACE_BARE=1
114 +export GIT_TRACE_BARE
115 +
116 if test -n "${TEST_GIT_INDEX_VERSION:+isset}"
117 then
118 GIT_INDEX_VERSION="$TEST_GIT_INDEX_VERSION"
trace.c
+6
@@ -87,11 +87,17 @@ static const char err_msg[] = "Could not trace into fd given by "
87
88 static int prepare_trace_line(struct trace_key *key, struct strbuf *buf)
89 {
90 + static struct trace_key trace_bare = TRACE_KEY_INIT(BARE);
91 +
92 if (!trace_want(key))
93 return 0;
94
95 set_try_to_free_routine(NULL); /* is never reset */
96
97 + /* unit tests may want to disable additional trace output */
98 + if (trace_want(&trace_bare))
99 + return 1;
100 +
101 /* add line prefix here */
102
103 return 1;