[PATCH 3 of 3] tests: extend check-commit self-tests

Augie Fackler raf at durin42.com
Fri Jan 8 23:21:25 CST 2016


> On Jan 8, 2016, at 1:46 PM, Matt Mackall <mpm at selenic.com> wrote:
> 
> # HG changeset patch
> # User Matt Mackall <mpm at selenic.com>
> # Date 1452276435 21600
> #      Fri Jan 08 12:07:15 2016 -0600
> # Node ID a8ea9d699407fcbdb44c87a097f32432039ca483
> # Parent  54875580a56db3682f5dc4cadd65c7b6d9176cd7
> tests: extend check-commit self-tests

1 and 2 are clowncopterized, but 3 fails tests for me. Can you take a look and resend?

> 
> This now contains both positive and negative tests for almost all the
> check-commit rules.
> 
> diff -r 54875580a56d -r a8ea9d699407 tests/test-contrib-check-commit.t
> --- a/tests/test-contrib-check-commit.t	Fri Jan 08 12:35:02 2016 -0600
> +++ b/tests/test-contrib-check-commit.t	Fri Jan 08 12:07:15 2016 -0600
> @@ -1,7 +1,7 @@
> Test the 'check-commit' script
> ==============================
> 
> -Test long lines in header (should not be reported as too long description)
> +A fine patch:
> 
>   $ cat > patch-with-long-header.diff << EOF
>> # HG changeset patch
> @@ -11,7 +11,36 @@
>> # Node ID c41cb6d2b7dbd62b1033727f8606b8c09fc4aa88
>> # Parent  42aa0e570eaa364a622bc4443b0bcb79b1100a58
>> # ClownJoke This is a veryly long header that should not be warned about because its not the description
> -  > transplant: use Oxford comma
> +  > bundle2: use Oxford comma (issue123) (BC)
> +  >
> +  > diff --git a/hgext/transplant.py b/hgext/transplant.py
> +  > --- a/hgext/transplant.py
> +  > +++ b/hgext/transplant.py
> +  > @@ -599,7 +599,7 @@
> +  >              return
> +  >          if not (opts.get('source') or revs or
> +  >                  opts.get('merge') or opts.get('branch')):
> +  > -            raise error.Abort(_('no source URL, branch revision or revision '
> +  > +            raise error.Abort(_('no source URL, branch revision, or revision '
> +  >                                 'list provided'))
> +  >          if opts.get('all'):
> +  >
> +  > + def blahblah(x):
> +  > +     pass
> +  > EOF
> +  $ cat patch-with-long-header.diff | $TESTDIR/../contrib/check-commit
> +
> +A patch with lots of errors:
> +
> +  $ cat > patch-with-long-header.diff << EOF
> +  > # HG changeset patch
> +  > # User timeless
> +  > # Date 1448911706 0
> +  > #      Mon Nov 30 19:28:26 2015 +0000
> +  > # Node ID c41cb6d2b7dbd62b1033727f8606b8c09fc4aa88
> +  > # Parent  42aa0e570eaa364a622bc4443b0bcb79b1100a58
> +  > # ClownJoke This is a veryly long header that should not be warned about because its not the description
> +  > transplant/foo: this summary is way too long use Oxford comma (bc) (bug123) (issue 244)
>> 
>> diff --git a/hgext/transplant.py b/hgext/transplant.py
>> --- a/hgext/transplant.py
> @@ -26,3 +55,57 @@
>>         if opts.get('all'):
>> EOF
>   $ cat patch-with-long-header.diff | $TESTDIR/../contrib/check-commit
> +  7: (BC) needs to be uppercase
> +   transplant/foo: this summary is way too long use Oxford comma (bc) (bug123) (issue 244)
> +  7: no space allowed between issue and number
> +   transplant/foo: this summary is way too long use Oxford comma (bc) (bug123) (issue 244)
> +  7: use (issueDDDD) instead of bug
> +   transplant/foo: this summary is way too long use Oxford comma (bc) (bug123) (issue 244)
> +  1: username is not an email address
> +   # User timeless
> +  7: summary keyword should be most user-relevant one-word command or topic
> +   transplant/foo: this summary is way too long use Oxford comma (bc) (bug123) (issue 244)
> +  7: summary line too long (limit is 78)
> +   transplant/foo: this summary is way too long use Oxford comma (bc) (bug123) (issue 244)
> +  [1]
> +
> +A patch with other errors:
> +
> +  $ cat > patch-with-long-header.diff << EOF
> +  > # HG changeset patch
> +  > # User timeless
> +  > # Date 1448911706 0
> +  > #      Mon Nov 30 19:28:26 2015 +0000
> +  > # Node ID c41cb6d2b7dbd62b1033727f8606b8c09fc4aa88
> +  > # Parent  42aa0e570eaa364a622bc4443b0bcb79b1100a58
> +  > # ClownJoke This is a veryly long header that should not be warned about because its not the description
> +  > This has no topic and ends with a period.
> +  >
> +  > diff --git a/hgext/transplant.py b/hgext/transplant.py
> +  > --- a/hgext/transplant.py
> +  > +++ b/hgext/transplant.py
> +  > @@ -599,7 +599,7 @@
> +  >          if opts.get('all'):
> +  >
> +  > +
> +  > + def blah_blah(x):
> +  > +     pass
> +  > +
> +  >
> +  > EOF
> +  $ cat patch-with-long-header.diff | $TESTDIR/../contrib/check-commit
> +  1: username is not an email address
> +   # User timeless
> +  7: summary line doesn't start with 'topic: '
> +   This has no topic and ends with a period.
> +  7: don't capitalize summary lines
> +   This has no topic and ends with a period.
> +  7: don't add trailing period on summary line
> +   This has no topic and ends with a period.
> +  19: adds double empty line
> +
> +  15: adds double empty line
> +   +
> +  16: adds a function with foo_bar naming
> +   + def blah_blah(x):
> +  [1]
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20160109/368aedcc/attachment.pgp>


More information about the Mercurial-devel mailing list