git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).