From: Jonathan Nieder <jrnieder@gmail.com>
To: Jeff King <peff@peff.net>
Cc: "Jens Lehmann" <Jens.Lehmann@web.de>,
"Junio C Hamano" <gitster@pobox.com>,
"Git Mailing List" <git@vger.kernel.org>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: Re: guarding everything with test_expect_success (Re: [PATCH 6/7] t1303 (config): style tweaks)
Date: Tue, 7 Sep 2010 01:12:13 -0500 [thread overview]
Message-ID: <20100907061213.GU1182@burratino> (raw)
In-Reply-To: <20100907055636.GA30357@sigill.intra.peff.net>
Jeff King wrote:
> Perhaps we could refactor it into a
> set of two functions that keep state? E.g., something like:
>
> test_start 'setup'
> cat >expect <<EOF
> ... whatever ...
> EOF
> test_end success
>
> test_start 'description'
> git frob >actual &&
> test_cmp expect actual
> test_end success
>
> where test_start would set up >&3 and >&4 as usual, and test_end would
> check $? and report the status. The biggest problem I see is that we
> never have the actual shell script snippet as a string, so we don't have
> a way of printing it for "-v" (or on failure). Hmm.
FWIW I don't mind this idea (to be used as an alternative to
test_expect_success when quoting issues get ugly). Maybe the harness
could fetch the snippet by parsing $0? (Sorry, couldn't resist.
Something simpler might be possible: e.g., a special
test_expect_success 'description' - <<\test_end
cat >expect <<EOF
... whatever ...
EOF
test_end
syntax.)
>> I don't know: I think
>>
>> cat >expect <<-\EOF &&
>> ...
>> EOF
>>
>> is pretty readable. The problem with sticking to
>
> Yeah, I almost mentioned that, but for some reason in the back of my
> mind <<- is not actually portable. Perhaps I am just thinking of the
> fact that perl does not support it.
I seem to remember some language where the here documents would snip
some well determined constant amount of whitespace from the enclosed
lines. Unfortunately in the shell, that is not the rule: <<- just
trims out all the leading tabs.
So when expected output includes leading tabs, it is ugly again.
q_to_tab <<-\EOF
Like this:
Q1. indented line
Q2. second indented line
EOF
next prev parent reply other threads:[~2010-09-07 6:14 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
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 [this message]
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=20100907061213.GU1182@burratino \
--to=jrnieder@gmail.com \
--cc=Jens.Lehmann@web.de \
--cc=avarab@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.
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).