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;