Re: [PATCH v2] am: add am.signoff add config variable
- From
- Eduardo Habkost <ehabkost@redhat.com>
- Date
- Dec 28, 2016, 19:19 UTC
- Message-ID
- <20161228191928.GH3441@thinpad.lan.raisama.net>
- In-Reply-To
- <20161228191142.GF3441@thinpad.lan.raisama.net>
On Wed, Dec 28, 2016 at 05:11:42PM -0200, Eduardo Habkost wrote:
> On Wed, Dec 28, 2016 at 10:51:28AM -0800, Stefan Beller wrote: > > On Wed, Dec 28, 2016 at 10:35 AM, Eduardo Habkost <ehabkost@redhat.com> wrote:
[...]
Show 28 quoted lines
> > > + test $(git cat-file commit HEAD | grep -c "Signed-off-by:") -eq 0 > > > > and then we check if the top most commit has zero occurrences > > for lines grepped for sign off. That certainly works, but took me a > > while to understand (TIL about -c in grep :). > > > > Another way that to write this check, that Git regulars may be more used to is: > > > > git cat-file commit HEAD | grep "Signed-off-by:" >actual > > test_must_be_empty actual > > test_must_be_empty is what I was looking for. But if I do this: > > test_expect_success '--no-signoff overrides am.signoff' ' > rm -fr .git/rebase-apply && > git reset --hard first && > test_config am.signoff true && > git am --no-signoff <patch2 && > printf "%s\n" "$signoff" >expected && > git cat-file commit HEAD^ | grep "Signed-off-by:" >actual && > test_cmp expected actual && > git cat-file commit HEAD | grep "Signed-off-by:" >actual && > test_must_be_empty actual > ' > > The test fails because the second "grep" command returns a > non-zero exit code. Any suggestions to avoid that problem in a > more idiomatic way?
I just found out that "test_must_fail grep ..." is a common idiom, so what about:
test_expect_success '--no-signoff overrides am.signoff' ' rm -fr .git/rebase-apply && git reset --hard first && test_config am.signoff true && git am --no-signoff <patch2 && printf "%s\n" "$signoff" >expected && git cat-file commit HEAD^ | grep "Signed-off-by:" >actual && test_cmp expected actual && git cat-file commit HEAD | test_must_fail grep -q "Signed-off-by:" '
-- Eduardo