git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Michael J Gruber <git@drmicha.warpmail.net>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Jeff King <peff@peff.net>
Subject: Re: [PATCHv3 0/5]rev-list and friends: --min-parents, --max-parents
Date: Thu, 24 Mar 2011 04:42:31 -0500	[thread overview]
Message-ID: <20110324094231.GC32092@elie> (raw)
In-Reply-To: <4D8B0712.6010300@drmicha.warpmail.net>

Michael J Gruber wrote:

> What's the simplest way to run the tests so that they catch
> non-POSIXisms?

In theory: use posh from <git://git.debian.org/users/clint/posh.git>.

In practice, testing with dash seems to work well for catching these.
dash tends to be less buggy but more forgiving because some people
(like me :)) use it day-to-day.

> I thought it's considered bad style to mix setup and actual test?
> Personally, I don't care either way. I just didn't want to have these 12
> extra commits in the initial setup (forcing me to adjust all tests).

Other test frameworks (inspired by JUnit?) like to separate errors
from set-up, tear-down, and the meat of the tests, but the git's test
suite doesn't do that.  Its goal is to test git rather than to track
bugs in the harness.

Still, many scripts include a test that sets up some state to be
shared by later tests.  This way, if git is severely broken (e.g., it
segfaults), then even the setup will fail; and meanwhile, it means it
is still possible to safely skip other individual tests with
GIT_SKIP_TESTS.

Anyway, I shouldn't have included such a tiny nit with the brace
expansion fix.  Sorry about that.  Here's a more minimal patch.

-- 8< --
Subject: tests: avoid nonportable {foo,bar} glob

Unlike bash and ksh, dash and busybox ash do not support brace
expansion (as in 'echo {hello,world}').  So when dash is sh,
t6009.13 (set up dodecapus) ends up passing a string beginning with
"root{1,2," to "git merge" verbatim and the test fails.

Fix it by introducing a variable to hold the list of parents for
the dodecapus and populating it in a more low-tech way.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
 t/t6009-rev-list-parent.sh |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/t/t6009-rev-list-parent.sh b/t/t6009-rev-list-parent.sh
index fc89d6d..b30834d 100755
--- a/t/t6009-rev-list-parent.sh
+++ b/t/t6009-rev-list-parent.sh
@@ -114,14 +114,16 @@ test_expect_success 'rev-list override and infinities' '
 
 test_expect_success 'set up dodecapus' '
 
+	roots= &&
 	for i in 1 2 3 4 5 6 7 8 9 10 11
 	do
 		git checkout -b root$i five || return
 		test_commit $i || return
+		roots="$roots root$i" || return
 	done &&
 	git checkout master &&
 	test_tick &&
-	git merge -m dodecapus root{1,2,3,4,5,6,7,8,9,10,11} &&
+	git merge -m dodecapus $roots &&
 	git tag dodecapus
 '
 
-- 
1.7.4.1

  reply	other threads:[~2011-03-24  9:42 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-17 11:33 [PATCH/RFD 0/2] revision.c: --merges, --no-merges and --merges-only Michael J Gruber
2011-03-17 11:33 ` [PATCH/RFD 1/2] revision.c: rename --merges to --merges-only Michael J Gruber
2011-03-17 11:33 ` [PATCH/RFD 2/2] revision.c: introduce --merges to undo --no-merges Michael J Gruber
2011-03-17 19:23 ` [PATCH/RFD 0/2] revision.c: --merges, --no-merges and --merges-only Junio C Hamano
2011-03-17 19:59 ` Jeff King
2011-03-18  7:56   ` Michael J Gruber
2011-03-18  8:22     ` Junio C Hamano
2011-03-18  8:41       ` Michael J Gruber
2011-03-18  8:56       ` Jeff King
2011-03-18 14:50         ` [PATCH 0/3] rev-list and friends: --min-parents, --max-parents Michael J Gruber
2011-03-18 14:50           ` [PATCH 1/3] revision.c: introduce --min-parents and --max-parents Michael J Gruber
2011-03-18 19:34             ` Jeff King
2011-03-21  7:31               ` Michael J Gruber
2011-03-18 20:48             ` Jonathan Nieder
2011-03-18 21:21               ` Junio C Hamano
2011-03-21  9:26               ` Michael J Gruber
2011-03-18 14:50           ` [PATCH 2/3] t6009: use test_commit() from test-lib.sh Michael J Gruber
2011-03-18 14:50           ` [PATCH 3/3] rev-list --min-parents,--max-parents: doc and test and completion Michael J Gruber
2011-03-18 19:48             ` Jeff King
2011-03-21  9:01               ` Michael J Gruber
2011-03-21 10:54                 ` Jeff King
2011-03-21 12:06                   ` Michael J Gruber
2011-03-21 14:54                     ` Junio C Hamano
2011-03-21 14:56                       ` Michael J Gruber
2011-03-21 16:47                         ` Junio C Hamano
2011-03-18 21:14             ` Jonathan Nieder
2011-03-21  8:52               ` Michael J Gruber
2011-03-21 17:49                 ` Jonathan Nieder
2011-03-22  7:38                   ` Michael J Gruber
2011-03-18 14:54           ` [PATCH 0/3] rev-list and friends: --min-parents, --max-parents Michael J Gruber
2011-03-18 19:41           ` Jeff King
2011-03-21  7:42             ` Michael J Gruber
2011-03-21 10:14               ` [PATCHv2 " Michael J Gruber
2011-03-21 10:14                 ` [PATCHv2 1/3] t6009: use test_commit() from test-lib.sh Michael J Gruber
2011-03-21 10:14                 ` [PATCHv2 2/3] revision.c: introduce --min-parents and --max-parents Michael J Gruber
2011-03-21 14:04                   ` Michael J Gruber
2011-03-21 17:45                   ` Junio C Hamano
2011-03-21 17:58                   ` Jonathan Nieder
2011-03-21 10:14                 ` [PATCHv2 3/3] rev-list --min-parents,--max-parents: doc and test and completion Michael J Gruber
2011-03-21 18:45                   ` Jonathan Nieder
2011-03-22  7:55                     ` Michael J Gruber
2011-03-23  0:47                       ` Jonathan Nieder
2011-03-21 10:56                 ` [PATCHv2 0/3] rev-list and friends: --min-parents, --max-parents Jeff King
2011-03-23  9:38                   ` [PATCHv3 0/5]rev-list " Michael J Gruber
2011-03-23  9:38                     ` [PATCHv3 1/5] t6009: use test_commit() from test-lib.sh Michael J Gruber
2011-03-23  9:38                     ` [PATCHv3 2/5] revision.c: introduce --min-parents and --max-parents Michael J Gruber
2011-03-23  9:38                     ` [PATCHv3 3/5] squash! " Michael J Gruber
2011-03-23  9:38                     ` [PATCHv3 4/5] rev-list --min-parents,--max-parents: doc, test and completion Michael J Gruber
2011-03-23  9:38                     ` [PATCHv3 5/5] fixup! " Michael J Gruber
2011-03-23 14:48                     ` [PATCHv3 0/5]rev-list and friends: --min-parents, --max-parents Jeff King
2011-03-23 17:12                       ` Junio C Hamano
2011-03-23 18:06                     ` Junio C Hamano
2011-03-24  8:21                     ` Jonathan Nieder
2011-03-24  8:55                       ` Michael J Gruber
2011-03-24  9:42                         ` Jonathan Nieder [this message]
2011-08-08  1:13                       ` [PATCH/RFC 0/2] test_when_finished and returning early Jonathan Nieder
2011-08-08  1:15                         ` [PATCH 1/2] test: simplify return value of test_run_ Jonathan Nieder
2011-08-08  1:17                         ` [PATCH 2/2] test: cope better with use of return for errors Jonathan Nieder
2011-08-09  8:46                           ` Johannes Sixt
2011-08-09 15:36                             ` Jeff King
2011-08-11  7:05                               ` [PATCH v2] t3900: do not reference numbered arguments from the test script Johannes Sixt
2011-08-11  7:11                                 ` Jonathan Nieder
2011-08-11 21:49                                   ` Junio C Hamano
2011-08-08  1:26                         ` [PATCH/RFC 0/2] test_when_finished and returning early Jeff King
2011-03-18  9:07     ` [PATCH/RFD 0/2] revision.c: --merges, --no-merges and --merges-only Jeff King
2011-03-18  9:42       ` Michael J Gruber
2011-03-18  9:54         ` Jeff King

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=20110324094231.GC32092@elie \
    --to=jrnieder@gmail.com \
    --cc=git@drmicha.warpmail.net \
    --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.
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 NNTP newsgroup(s).