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

[PATCH v7 08/16] trace: disable additional trace output for unit tests

From
Karsten Blees <karsten.blees@gmail.com>
Date
Jul 1, 2014, 22:59 UTC
Message-ID
<53B33D6C.4040809@gmail.com>
In-Reply-To
<53B33C05.5090900@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>
---
 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.ge74f8ff

-- 
-- 
*** 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 10 of 21 in “add performance tracing facility”
  1. 00/16 add performance tracing facilityKarsten Blees, Jul 1, 2014
  2. 01/16 trace: move trace declarations from cache.h to new trace.hKarsten Blees, Jul 1, 2014
  3. 02/16 trace: consistently name the format parameterKarsten Blees, Jul 1, 2014
  4. 03/16 trace: remove redundant printf format attributeKarsten Blees, Jul 1, 2014
  5. 04/16 trace: improve trace performanceKarsten Blees, Jul 1, 2014
  6. Junio C HamanoJul 2, 2014
  7. 05/16 Documentation/git.txt: improve documentation of 'GIT_TRACE*' variablesKarsten Blees, Jul 1, 2014
  8. 06/16 sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace APIKarsten Blees, Jul 1, 2014
  9. 07/16 trace: add infrastructure to augment trace output with additional infoKarsten Blees, Jul 1, 2014
  10. 08/16 trace: disable additional trace output for unit testsKarsten Blees, Jul 1, 2014
  11. 09/16 trace: add current timestamp to all trace outputKarsten Blees, Jul 1, 2014
  12. 10/16 trace: move code around, in preparation to file:line outputKarsten Blees, Jul 1, 2014
  13. 11/16 trace: add 'file:line' to all trace outputKarsten Blees, Jul 1, 2014
  14. Junio C HamanoJul 2, 2014
  15. Karsten BleesJul 2, 2014
  16. Junio C HamanoJul 2, 2014
  17. 12/16 trace: add high resolution timer function to debug performance issuesKarsten Blees, Jul 1, 2014
  18. 13/16 trace: add trace_performance facility to debug performance issuesKarsten Blees, Jul 1, 2014
  19. 14/16 git: add performance tracing for git's main() function to debug scriptsKarsten Blees, Jul 1, 2014
  20. 15/16 wt-status: simplify performance measurement by using getnanotime()Karsten Blees, Jul 1, 2014
  21. 16/16 progress: simplify performance measurement by using getnanotime()Karsten Blees, Jul 1, 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.