git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Luke Diamand <luke@diamand.org>
To: Johannes Sixt <j6t@kdbg.org>
Cc: Pranit Bauva <pranit.bauva@gmail.com>,
	Git Users <git@vger.kernel.org>,
	Stefan Beller <sbeller@google.com>
Subject: Re: [PATCH] don't use test_must_fail with grep
Date: Sun, 1 Jan 2017 15:24:49 +0000	[thread overview]
Message-ID: <CAE5ih7-b7LpPYPkuDnJakb12LPZ5UE2TeV17aYXAsbP2aH5zEA@mail.gmail.com> (raw)
In-Reply-To: <285ed013-5c59-0b98-7dc0-8f729587a313@kdbg.org>

On 1 January 2017 at 14:50, Johannes Sixt <j6t@kdbg.org> wrote:
> Am 01.01.2017 um 15:23 schrieb Luke Diamand:
>>
>> On 31 December 2016 at 11:44, Pranit Bauva <pranit.bauva@gmail.com> wrote:
>>>
>>> diff --git a/t/t9813-git-p4-preserve-users.sh
>>> b/t/t9813-git-p4-preserve-users.sh
>>> index 0fe231280..2384535a7 100755
>>> --- a/t/t9813-git-p4-preserve-users.sh
>>> +++ b/t/t9813-git-p4-preserve-users.sh
>>> @@ -126,13 +126,13 @@ test_expect_success 'not preserving user with mixed
>>> authorship' '
>>>                 grep "git author charlie@example.com does not match" &&
>>>
>>>                 make_change_by_user usernamefile3 alice alice@example.com
>>> &&
>>> -               git p4 commit |\
>>> -               test_must_fail grep "git author.*does not match" &&
>>> +               ! git p4 commit |\
>>> +               grep "git author.*does not match" &&
>>
>>
>> Would it be clearer to use this?
>>
>>     git p4 commit |\
>>     grep -q -v "git author.*does not match" &&
>>
>> With your original change, I think that if "git p4 commit" fails, then
>> that expression will be treated as a pass.
>
>
> No. The exit code of the upstream in a pipe is ignored. For this reason,
> having a git invocation as the upstream of a pipe *anywhere* in the test
> suite is frowned upon. Hence, a better rewrite would be
>
>         git p4 commit >actual &&
>         ! grep "git author.*does not match" actual &&
>
> which makes me wonder: Is the message that we do expect not to occur
> actually printed on stdout? It sounds much more like an error message, i.e.,
> text that is printed on stderr. Wouldn't we need this?
>
>         git p4 commit >actual 2>&1 &&
>         ! grep "git author.*does not match" actual &&

The message is actually part of a template presented to the user via
their chosen editor. For this test, we set the editor to be "cat", so
it comes out on stdout.

Your first suggestion would therefore be fine (and similarly for the
other cases).

  reply	other threads:[~2017-01-01 15:24 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-31 11:44 [PATCH] don't use test_must_fail with grep Pranit Bauva
2017-01-01 14:23 ` Luke Diamand
2017-01-01 14:50   ` Johannes Sixt
2017-01-01 15:24     ` Luke Diamand [this message]
2017-01-02 13:40     ` Pranit Bauva
2017-01-07 21:18       ` Junio C Hamano
2017-01-08 16:53         ` Pranit Bauva
2017-01-02 18:45 ` [PATCH v2 1/2] " Pranit Bauva
2017-01-03 19:57   ` [PATCH v3 " Pranit Bauva
2017-01-08 16:55     ` [PATCH v4 " Pranit Bauva
2017-01-08 16:55       ` [PATCH v4 2/2] t9813: avoid using pipes Pranit Bauva
2017-01-09  9:11         ` Luke Diamand
2017-01-09  9:54           ` Junio C Hamano
2017-01-03 19:57   ` [PATCH v3 " Pranit Bauva
2017-01-04  9:11     ` Luke Diamand
2017-01-04 11:49       ` Pranit Bauva
2017-01-02 18:45 ` [PATCH v2 " Pranit Bauva
2017-01-03 17:58   ` Stefan Beller
2017-01-03 19:44     ` Pranit Bauva
2017-01-03 19:48       ` Stefan Beller
2017-01-03 17:52 ` [PATCH] don't use test_must_fail with grep Stefan Beller

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAE5ih7-b7LpPYPkuDnJakb12LPZ5UE2TeV17aYXAsbP2aH5zEA@mail.gmail.com \
    --to=luke@diamand.org \
    --cc=git@vger.kernel.org \
    --cc=j6t@kdbg.org \
    --cc=pranit.bauva@gmail.com \
    --cc=sbeller@google.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).