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

[PATCH v8 08/17] trace: disable additional trace output for unit tests

From
Karsten Blees <karsten.blees@gmail.com>
Date
Jul 12, 2014, 00:03 UTC
Message-ID
<53C07B35.3090600@gmail.com>
In-Reply-To
<53C079C5.8090503@gmail.com>

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>
---
 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

-- 
-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups.com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups.com
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups "msysGit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Previous: Karsten BleesNext: Karsten Blees
Message 9 of 18 in “add performance tracing facility”
  1. 00/17 add performance tracing facilityKarsten Blees, Jul 11, 2014
  2. 01/17 trace: move trace declarations from cache.h to new trace.hKarsten Blees, Jul 11, 2014
  3. 02/17 trace: consistently name the format parameterKarsten Blees, Jul 11, 2014
  4. 03/17 trace: remove redundant printf format attributeKarsten Blees, Jul 11, 2014
  5. 04/17 trace: improve trace performanceKarsten Blees, Jul 12, 2014
  6. 05/17 Documentation/git.txt: improve documentation of 'GIT_TRACE*' variablesKarsten Blees, Jul 12, 2014
  7. 06/17 sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace APIKarsten Blees, Jul 12, 2014
  8. 07/17 trace: add infrastructure to augment trace output with additional infoKarsten Blees, Jul 12, 2014
  9. 08/17 trace: disable additional trace output for unit testsKarsten Blees, Jul 12, 2014
  10. 09/17 trace: add current timestamp to all trace outputKarsten Blees, Jul 12, 2014
  11. 10/17 trace: move code around, in preparation to file:line outputKarsten Blees, Jul 12, 2014
  12. 11/17 trace: add 'file:line' to all trace outputKarsten Blees, Jul 12, 2014
  13. 12/17 trace: add high resolution timer function to debug performance issuesKarsten Blees, Jul 12, 2014
  14. 13/17 trace: add trace_performance facility to debug performance issuesKarsten Blees, Jul 12, 2014
  15. 14/17 git: add performance tracing for git's main() function to debug scriptsKarsten Blees, Jul 12, 2014
  16. 15/17 wt-status: simplify performance measurement by using getnanotime()Karsten Blees, Jul 12, 2014
  17. 16/17 progress: simplify performance measurement by using getnanotime()Karsten Blees, Jul 12, 2014
  18. 17/17 api-trace.txt: add trace API documentationKarsten Blees, Jul 12, 2014

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.