From: Ramsay Jones <ramsay@ramsay1•demon.co.uk>
To: GIT Mailing-list <git@vger•kernel.org>
Cc: Ilya Bobyr <ilya.bobyr@gmail•com>, Junio C Hamano <gitster@pobox•com>
Subject: [PATCH/RFC] t0000-*.sh: Fix the GIT_SKIP_TESTS sub-tests
Date: Tue, 20 May 2014 22:26:58 +0100 [thread overview]
Message-ID: <537BC8A2.9060009@ramsay1.demon.co.uk> (raw)
Signed-off-by: Ramsay Jones <ramsay@ramsay1•demon.co.uk>
---
The test suite has been failing for me on the pu branch for
a while now. I finally found a few minutes to take a look.
This failure is specific to the dash shell (/bin/sh) on my
system (ie it may well affect other shells, but I haven't
tested them all ... :). This does not affect bash (or bash
as /bin/sh aka bash --posix).
The GIT_SKIP_TESTS, 13-15, all fail with verbose output
similar to:
$ ./t0000-basic.sh -i -v
...
--- expect 2014-05-20 20:55:54.138342361 +0000
+++ out 2014-05-20 20:55:54.134342341 +0000
@@ -1,5 +1,5 @@
ok 1 - passing test #1
-ok 2 # skip passing test #2 (GIT_SKIP_TESTS)
+ok 2 - passing test #2
ok 3 - passing test #3
# passed all 3 test(s)
1..3
not ok 13 - GIT_SKIP_TESTS
#
# GIT_SKIP_TESTS='git.2' run_sub_test_lib_test git-skip-tests-basic 'GIT_SKIP_TESTS' <<-\EOF &&
# for i in 1 2 3
# do
# test_expect_success "passing test #$i" 'true'
# done
# test_done
# EOF
# check_sub_test_lib_test git-skip-tests-basic <<-\EOF
# > ok 1 - passing test #1
# > ok 2 # skip passing test #2 (GIT_SKIP_TESTS)
# > ok 3 - passing test #3
# > # passed all 3 test(s)
# > 1..3
# EOF
#
$
... which looks like the sub-test does not see the GIT_SKIP_TESTS
variable at all. Indeed, if I put the entire test in a sub-shell
and replace the use of that variable on the run_sub_test_lib_test
invocation with a separate explicit assignment and export, then
the tests start working. (ie if I do the opposite of some other
recent commits!)
This patch is an RFC, because I take a different approach to the
above solution, only because the diff is much smaller and easier
to read! Is it a better solution?
ATB,
Ramsay Jones
t/t0000-basic.sh | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
index 8345c8a..373ad8f 100755
--- a/t/t0000-basic.sh
+++ b/t/t0000-basic.sh
@@ -296,8 +296,9 @@ test_expect_success 'test --verbose-only' '
'
test_expect_success 'GIT_SKIP_TESTS' "
- GIT_SKIP_TESTS='git.2' \
- run_sub_test_lib_test git-skip-tests-basic \
+ GIT_SKIP_TESTS='git.2' && export GIT_SKIP_TESTS &&
+ test_when_finished sane_unset GIT_SKIP_TESTS &&
+ run_sub_test_lib_test git-skip-tests-basic \
'GIT_SKIP_TESTS' <<-\\EOF &&
for i in 1 2 3
do
@@ -315,8 +316,9 @@ test_expect_success 'GIT_SKIP_TESTS' "
"
test_expect_success 'GIT_SKIP_TESTS several tests' "
- GIT_SKIP_TESTS='git.2 git.5' \
- run_sub_test_lib_test git-skip-tests-several \
+ GIT_SKIP_TESTS='git.2 git.5' && export GIT_SKIP_TESTS &&
+ test_when_finished sane_unset GIT_SKIP_TESTS &&
+ run_sub_test_lib_test git-skip-tests-several \
'GIT_SKIP_TESTS several tests' <<-\\EOF &&
for i in 1 2 3 4 5 6
do
@@ -337,8 +339,9 @@ test_expect_success 'GIT_SKIP_TESTS several tests' "
"
test_expect_success 'GIT_SKIP_TESTS sh pattern' "
- GIT_SKIP_TESTS='git.[2-5]' \
- run_sub_test_lib_test git-skip-tests-sh-pattern \
+ GIT_SKIP_TESTS='git.[2-5]' && export GIT_SKIP_TESTS &&
+ test_when_finished sane_unset GIT_SKIP_TESTS &&
+ run_sub_test_lib_test git-skip-tests-sh-pattern \
'GIT_SKIP_TESTS sh pattern' <<-\\EOF &&
for i in 1 2 3 4 5 6
do
--
1.9.0
next reply other threads:[~2014-05-20 21:27 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-20 21:26 Ramsay Jones [this message]
2014-05-20 21:33 ` [PATCH/RFC] t0000-*.sh: Fix the GIT_SKIP_TESTS sub-tests Junio C Hamano
2014-05-20 21:40 ` Jonathan Nieder
2014-05-20 22:20 ` Ramsay Jones
2014-05-20 22:44 ` Jonathan Nieder
2014-05-20 23:33 ` Ramsay Jones
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=537BC8A2.9060009@ramsay1.demon.co.uk \
--to=ramsay@ramsay1$(echo .)demon.co.uk \
--cc=git@vger$(echo .)kernel.org \
--cc=gitster@pobox$(echo .)com \
--cc=ilya.bobyr@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox