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>
This commit is contained in:
Karsten Blees 2014-07-12 02:03:01 +02:00 коммит произвёл Junio C Hamano
Родитель c69dfd24db
Коммит 124647c4b0
2 изменённых файлов: 10 добавлений и 0 удалений

Просмотреть файл

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

Просмотреть файл

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