Revision d88785e424aaf18aa3ca291c2299c599c000c6cb authored by Jeff King on 11 May 2016, 13:44:04 UTC, committed by Junio C Hamano on 11 May 2016, 21:03:14 UTC
Passing "-x" to a test script enables the shell's "set -x"
tracing, which can help with tracking down the command that
is causing a failure. Unfortunately, it can also _cause_
failures in some tests that redirect the stderr of a shell
function.  Inside the function the shell continues to
respect "set -x", and the trace output is collected along
with whatever stderr is generated normally by the function.

You can see an example of this by running:

  ./t0040-parse-options.sh -x -i

which will fail immediately in the first test, as it
expects:

  test_must_fail some-cmd 2>output.err

to leave output.err empty (but with "-x" it has our trace
output).

Unfortunately there isn't a portable or scalable solution to
this. We could teach test_must_fail to disable "set -x", but
that doesn't help any of the other functions or subshells.

However, we can work around it by pointing the "set -x"
output to our descriptor 4, which always points to the
original stderr of the test script. Unfortunately this only
works for bash, but it's better than nothing (and other
shells will just ignore the BASH_XTRACEFD variable).

The patch itself is a simple one-liner, but note the caveats
in the accompanying comments.

Automatic tests for our "-x" option may be a bit too meta
(and a pain, because they are bash-specific), but I did
confirm that it works correctly both with regular "-x" and
with "--verbose-only=1". This works because the latter flips
"set -x" off and on for particular tests (if it didn't, we
would get tracing for all tests, as going to descriptor 4
effectively circumvents the verbose flag).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 7654286
Raw File
TEAMS
Core Git translation language teams
(please keep the list sorted alphabetically on language field)

Language:	bg (Bulgarian)
Repository:	https://github.com/git-l10n/git-po
Leader:		Alexander Shopov <ash@kambanaria.org>

Language:	ca (Catalan)
Repository:	https://github.com/alexhenrie/git-po
Leader:		Alex Henrie <alexhenrie24@gmail.com>

Language:	de (German)
Repository:	https://github.com/ralfth/git-po-de
Leader:		Ralf Thielow <ralf.thielow@googlemail.com>
Members:	Thomas Rast <tr@thomasrast.ch>
		Jan Krüger <jk@jk.gs>
		Christian Stimming <stimming@tuhh.de>
		Phillip Szelat <phillip.szelat@gmail.com>
		Matthias Rüster <matthias.ruester@gmail.com>
		Magnus Görlitz <magnus.goerlitz@googlemail.com>

Language:	fr (French)
Repository:	https://github.com/jnavila/git
Leader:		Jean-Noël Avila <jn.avila@free.fr>
Members:	Sébastien Helleu <flashcode@flashtux.org>

Language:	is (Icelandic)
Leader:		Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Language:	it (Italian)
Repository:	https://github.com/quizzlo/git-po-it/
Leader:		Marco Paolone <marcopaolone AT gmail.com>
Members:	Stefano Lattarini <stefano.lattarini AT gmail.com>

Language:	pt_PT (Portuguese - Portugal)
Repository:	https://github.com/marcomsousa/git-l10n-pt_PT/
Leader:		Marco Sousa <marcomsousa AT gmail.com>

Language:	ru (Russian)
Repository:	https://github.com/DJm00n/git-po-ru/
Leader:		Dimitriy Ryazantcev <DJm00n AT mail.ru>
Members:	insolor <insolor AT gmail.com>

Language:	sv (Swedish)
Repository:	https://github.com/nafmo/git-l10n-sv/
Leader:		Peter Krefting <peter@softwolves.pp.se>

Language:	vi (Vietnamese)
Repository:	https://github.com/vnwildman/git/
Leader:		Trần Ngọc Quân <vnwildman AT gmail.com>
Members:	Nguyễn Thái Ngọc Duy <pclouds AT gmail.com>

Language:	zh_CN (Simplified Chinese)
Repository:	https://github.com/jiangxin/git/
Leader:		Jiang Xin <worldhello.net@gmail.com>
Members:	Riku <lu.riku AT gmail.com>
		Zhuang Ya <zhuangya AT me.com>
		Lian Cheng <rhythm.mail AT gmail.com>
		Yichao Yu <yyc1992 AT gmail.com>
		ws3389 <willsmith3389 AT gmail.com>
		Thynson <lanxingcan AT gmail.com>
		Wang Sheng <wangsheng2008love@163.com>
back to top