From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: git@vger.kernel.org
Cc: "Jeff King" <peff@peff.net>, "Junio C Hamano" <gitster@pobox.com>,
"SZEDER Gábor" <szeder.dev@gmail.com>
Subject: [PATCH 10/11] t/README: add a note about don't saving stderr of compound commands
Date: Sat, 24 Feb 2018 00:39:50 +0100 [thread overview]
Message-ID: <20180223233951.11154-11-szeder.dev@gmail.com> (raw)
In-Reply-To: <20180223233951.11154-1-szeder.dev@gmail.com>
Explain in 't/README' why it is a bad idea to redirect and verify the
stderr of compound commands, in the hope that future contributions
will follow this advice and the test suite will keep working with '-x'
tracing and /bin/sh.
While at it, since we can now run the test suite with '-x' without
needing a Bash version supporting BASH_XTRACEFD, remove the now
outdated caution note about non-Bash shells from the description of
the '-x' option.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
---
t/README | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/t/README b/t/README
index c430e9c52c..615682263e 100644
--- a/t/README
+++ b/t/README
@@ -84,9 +84,7 @@ appropriately before running "make".
-x::
Turn on shell tracing (i.e., `set -x`) during the tests
- themselves. Implies `--verbose`. Note that in non-bash shells,
- this can cause failures in some tests which redirect and test
- the output of shell functions. Use with caution.
+ themselves. Implies `--verbose`.
Ignored in test scripts that set the variable 'test_untraceable'
to a non-empty value, unless it's run with a Bash version
supporting BASH_XTRACEFD, i.e. v4.1 or later.
@@ -455,6 +453,22 @@ Don't:
causing the next test to start in an unexpected directory. Do so
inside a subshell if necessary.
+ - save and verify the standard error of compound commands, i.e. group
+ commands, subshells, and shell functions (except test helper
+ functions like 'test_must_fail') like this:
+
+ ( cd dir && git cmd ) 2>error &&
+ test_cmp expect error
+
+ When running the test with '-x' tracing, then the trace of commands
+ executed in the compound command will be included in standard error
+ as well, quite possibly throwing off the subsequent checks examining
+ the output. Instead, save only the relevant git command's standard
+ error:
+
+ ( cd dir && git cmd 2>../error ) &&
+ test_cmp expect error
+
- Break the TAP output
The raw output from your test may be interpreted by a TAP harness. TAP
--
2.16.2.400.g911b7cc0da
next prev parent reply other threads:[~2018-02-23 23:40 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-23 23:39 [PATCH 00/11] Make the test suite pass with '-x' and /bin/sh SZEDER Gábor
2018-02-23 23:39 ` [PATCH 01/11] t: prevent '-x' tracing from interfering with test helpers' stderr SZEDER Gábor
2018-02-24 12:19 ` SZEDER Gábor
2018-02-25 13:40 ` [PATCH v1.1] " SZEDER Gábor
2018-02-23 23:39 ` [PATCH 02/11] t: add means to disable '-x' tracing for individual test scripts SZEDER Gábor
2018-02-23 23:39 ` [PATCH 03/11] t1507-rev-parse-upstream: don't check the stderr of a shell function SZEDER Gábor
2018-02-23 23:39 ` [PATCH 04/11] t3030-merge-recursive: don't check the stderr of a subshell SZEDER Gábor
2018-02-24 8:04 ` Eric Sunshine
2018-02-27 21:03 ` Junio C Hamano
2018-02-27 21:10 ` Junio C Hamano
2018-02-27 21:27 ` [PATCH] test_must_be_empty: make sure the file exists, not just empty Junio C Hamano
2018-02-27 21:42 ` Stefan Beller
2018-02-27 22:08 ` Jeff King
2018-02-27 21:28 ` [PATCH 04/11] t3030-merge-recursive: don't check the stderr of a subshell SZEDER Gábor
2018-02-27 21:17 ` Junio C Hamano
2018-02-28 0:44 ` SZEDER Gábor
2018-02-23 23:39 ` [PATCH 05/11] t5500-fetch-pack: " SZEDER Gábor
2018-02-23 23:39 ` [PATCH 06/11] t5526: use $TRASH_DIRECTORY to specify the path of GIT_TRACE log file SZEDER Gábor
2018-02-23 23:39 ` [PATCH 07/11] t5570-git-daemon: don't check the stderr of a subshell SZEDER Gábor
2018-02-23 23:39 ` [PATCH 08/11] t9903-bash-prompt: don't check the stderr of __git_ps1() SZEDER Gábor
2018-02-23 23:39 ` [PATCH 09/11] t1510-repo-setup: mark as untraceable with '-x' SZEDER Gábor
2018-02-23 23:39 ` SZEDER Gábor [this message]
2018-02-23 23:39 ` [PATCH 11/11] travis-ci: run tests with '-x' tracing SZEDER Gábor
2018-03-02 15:32 ` [PATCH 00/11] Make the test suite pass with '-x' and /bin/sh SZEDER Gábor
2018-03-03 7:12 ` Jeff King
2018-03-05 21:18 ` SZEDER Gábor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180223233951.11154-11-szeder.dev@gmail.com \
--to=szeder.dev@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).