From: Jeff King <peff@peff.net>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Jens Lehmann <Jens.Lehmann@web.de>,
Junio C Hamano <gitster@pobox.com>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH 6/7] t1303 (config): style tweaks
Date: Tue, 7 Sep 2010 00:30:50 -0400 [thread overview]
Message-ID: <20100907043050.GA13291@sigill.intra.peff.net> (raw)
In-Reply-To: <20100907015317.GG1182@burratino>
On Mon, Sep 06, 2010 at 08:53:18PM -0500, Jonathan Nieder wrote:
> This test already has impeccable style,
I don't think my style has ever been called impeccable...
> with one exception: there is an unnecessary use of a subshell. Use a
> {} block instead.
OK. Does this actually matter for anything? I know Windows has slow
fork, but I doubt it is measurable here.
> While at it:
>
> - guard setup commands with test_expect_success, so the commands
> are printed when the test is run with "-v" and errors in setup
> can be caught;
This confuses me. The setup is _already_ run inside test_expect_success.
It is only the shell function definitions you are moving inside. Do we
really care about this? If so, aren't there a zillion other places where
we define shell functions in test scripts? Try "git grep
'^[a-z][a-z]* *('".
You do move some variable definitions inside, too,, but IMO you are
making at least one of them less readable, because you have to deal with
the extra quoting layer of test_expect_success. IOW:
> -SECTION="test.q\"s\\sq'sp e.key"
> test_expect_success 'make sure git config escapes section names properly' '
> + SECTION="test.q\"s\\sq'\''sp e.key" &&
seems like a net loss to me.
> - use echo instead of printf to print simple text ending with a
> newline, so the later use of printf stands out more;
No complaint here.
> - put a single space before () in function definitions, for
> consistency with other shell scripts in git;
Again, I am not sure we care, but if we do, there are a ton of other
places: git grep '^[a-z][a-z]*('.
> - reorder arguments to test_cmp as "test_cmp expected actual".
Yeah, I prefer it as "test_cmp expected actual". I'm surprised I ever
wrote it the other way (actually, I think it is because my writing
predates test_cmp, even).
So I dunno. Most of it I am fine with, though I question whether it is
really worth the effort. But I really don't want to be too draconian
about "everything must go into test_expect_success". Sure, if you are
executing commands that might have output, or might be of interest to
the user, put them there. But I find this a lot more readable:
cat >expect <<'EOF'
... some expected output ...
EOF
test_expect_success 'frob it' '
git frob &&
test_cmp expect actual
'
than:
test_expect_success 'frob it' '
cat >expect <<"EOF" &&
... some expected output ...
EOF
git frob &&
test_cmp expect actual
'
-Peff
next prev parent reply other threads:[~2010-09-07 4:30 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-06 18:39 [PATCH] Several tests: cd inside subshell instead of around Jens Lehmann
2010-09-06 19:06 ` Jonathan Nieder
2010-09-06 20:12 ` Jens Lehmann
2010-09-07 1:41 ` [PATCH 0/7] " Jonathan Nieder
2010-09-07 1:42 ` [PATCH 1/7] tests: subshell indentation stylefix Jonathan Nieder
2010-09-07 3:44 ` Jonathan Nieder
2010-09-07 1:47 ` [PATCH 2/7] t1450 (fsck): remove dangling objects Jonathan Nieder
2010-09-07 1:49 ` [PATCH 3/7] t2105 (gitfile): add missing && Jonathan Nieder
2010-09-07 12:57 ` Brad King
2010-09-07 1:50 ` [PATCH 4/7] t0004 (unwritable files): simplify error handling Jonathan Nieder
2010-09-07 1:52 ` [PATCH 5/7] t1302 (core.repositoryversion): style tweaks Jonathan Nieder
2010-09-07 23:45 ` Nguyen Thai Ngoc Duy
2010-09-07 1:53 ` [PATCH 6/7] t1303 (config): " Jonathan Nieder
2010-09-07 4:30 ` Jeff King [this message]
2010-09-07 4:52 ` Junio C Hamano
2010-09-07 5:27 ` Jonathan Nieder
2010-09-07 5:12 ` guarding everything with test_expect_success (Re: [PATCH 6/7] t1303 (config): style tweaks) Jonathan Nieder
2010-09-07 5:56 ` Jeff King
2010-09-07 6:12 ` Jonathan Nieder
2010-09-07 1:55 ` [PATCH/RFC 7/7] t2016 (checkout -p): use printf for multiline y/n input Jonathan Nieder
2010-09-07 8:06 ` Thomas Rast
2010-09-07 8:22 ` Jonathan Nieder
2010-09-06 23:16 ` [PATCH] Several tests: cd inside subshell instead of around Junio C Hamano
2010-09-07 2:37 ` Jonathan Nieder
2010-09-07 5:08 ` Junio C Hamano
2010-09-07 5:19 ` Jonathan Nieder
2010-09-07 10:29 ` [PATCH] t1020: Get rid of 'cd "$HERE"' at the start of each test Jens Lehmann
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=20100907043050.GA13291@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=Jens.Lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
/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).