test-contrib-check-commit.t
139 lines
| 5.1 KiB
| text/troff
|
Tads3Lexer
/ tests / test-contrib-check-commit.t
|
r27328 | Test the 'check-commit' script | ||
============================== | ||||
|
r27700 | A fine patch: | ||
|
r27328 | |||
$ cat > patch-with-long-header.diff << EOF | ||||
> # HG changeset patch | ||||
> # User timeless <timeless@mozdev.org> | ||||
> # 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 | ||||
|
r27700 | > 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 | ||||
|
r30843 | This would normally be against the rules, but it's okay because that's | ||
what tagging and signing looks like: | ||||
$ cat > creates-a-tag.diff << EOF | ||||
> # HG changeset patch | ||||
> # User Augie Fackler <raf@durin42.com> | ||||
> # Date 1484787778 18000 | ||||
> # Wed Jan 18 20:02:58 2017 -0500 | ||||
> # Branch stable | ||||
> # Node ID c177635e4acf52923bc3aa9f72a5b1ad1197b173 | ||||
> # Parent a1dd2c0c479e0550040542e392e87bc91262517e | ||||
> Added tag 4.1-rc for changeset a1dd2c0c479e | ||||
> | ||||
> diff --git a/.hgtags b/.hgtags | ||||
> --- a/.hgtags | ||||
> +++ b/.hgtags | ||||
> @@ -150,3 +150,4 @@ 438173c415874f6ac653efc1099dec9c9150e90f | ||||
> eab27446995210c334c3d06f1a659e3b9b5da769 4.0 | ||||
> b3b1ae98f6a0e14c1e1ba806a6c18e193b6dae5c 4.0.1 | ||||
> e69874dc1f4e142746ff3df91e678a09c6fc208c 4.0.2 | ||||
> +a1dd2c0c479e0550040542e392e87bc91262517e 4.1-rc | ||||
> EOF | ||||
$ $TESTDIR/../contrib/check-commit < creates-a-tag.diff | ||||
|
r27700 | 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) | ||||
|
r27328 | > | ||
> 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'): | ||||
> EOF | ||||
$ cat patch-with-long-header.diff | $TESTDIR/../contrib/check-commit | ||||
|
r27783 | 1: username is not an email address | ||
# User timeless | ||||
7: summary keyword should be most user-relevant one-word command or topic | ||||
|
r27700 | transplant/foo: this summary is way too long use Oxford comma (bc) (bug123) (issue 244) | ||
|
r27783 | 7: (BC) needs to be uppercase | ||
|
r27700 | 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) | ||||
|
r27783 | 7: no space allowed between issue and number | ||
|
r27700 | 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'): | ||||
> | ||||
|
r28013 | > | ||
> + | ||||
> + some = otherjunk | ||||
> + | ||||
|
r27700 | > + | ||
> + 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 | ||||
|
r27783 | 7: don't capitalize summary lines | ||
|
r27700 | This has no topic and ends with a period. | ||
|
r27783 | 7: summary line doesn't start with 'topic: ' | ||
|
r27700 | 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. | ||||
|
r27783 | 19: adds double empty line | ||
+ | ||||
|
r28013 | 20: adds a function with foo_bar naming | ||
+ def blah_blah(x): | ||||
23: adds double empty line | ||||
+ | ||||
|
r27700 | [1] | ||