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 <bl...@dcon.de>
Signed-off-by: Junio C Hamano <gits...@pobox.com>
---
 t/test-lib.sh | 4 ++++
 trace.c       | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/t/test-lib.sh b/t/test-lib.sh
index 81394c8..e37da5a 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 3d02bcc..a194b16 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;
-- 
2.0.0.406.g2e9ef9b

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to