tests/test-check-code-hg.t
author Gregory Szorc <gregory.szorc@gmail.com>
Mon, 23 Mar 2015 18:21:01 -0700
changeset 24429 69bd0ec2f9be
parent 22047 8fb6844a4ff1
permissions -rw-r--r--
commands.push: abort when revisions evaluate to empty set (BC) If the "-r" argument is specified to "hg push," the user has expressed an intent for a specific changeset to be present on the remote. If that expression cannot be mapped to a known changeset, the user's intent is ambiguous and cannot be acted upon without making assumptions. Previously, if arguments to `push -r <rev>` evaluated to an empty set (perhaps the user specified a revset that didn't evaluate to anything), the empty "revs" list would be passed down to "exchange.push" where it appears the empty list was being interpreted as "push everything." This patch adds validation to the "-r" argument to the push command. If the argument is specified but doesn't resolve to a changeset, the command will abort instead of doing something potentially unexpected. This patch is technically breaking backwards compatibility. I believe this is justified because the new behavior closes a crack that could result in undefined or under-defined behavior. Also, this patch doesn't drop client capabilities because if users really wanted to push all changesets, they can simply omit the "-r" argument from push completely.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22047
8fb6844a4ff1 tests: change some #ifs to #requires
Matt Mackall <mpm@selenic.com>
parents: 21225
diff changeset
     1
#require test-repo
21223
c35c027f5f43 test-check-code-hg: use test-repo check
Matt Mackall <mpm@selenic.com>
parents: 20239
diff changeset
     2
15557
7bb5ed61b74c tests: convert test-check-code-hg.py to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 11771
diff changeset
     3
  $ check_code="$TESTDIR"/../contrib/check-code.py
7bb5ed61b74c tests: convert test-check-code-hg.py to .t
Mads Kiilerich <mads@kiilerich.com>
parents: 11771
diff changeset
     4
  $ cd "$TESTDIR"/..
15558
c6b600d2348c tests: run check-code with warnings and maintain a whitelist
Mads Kiilerich <mads@kiilerich.com>
parents: 15557
diff changeset
     5
19384
96fd9af75834 tests: check-code all python files in one run
Simon Heimberg <simohe@besonet.ch>
parents: 19321
diff changeset
     6
New errors are not allowed. Warnings are strongly discouraged.
20239
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
     7
(The writing "no-che?k-code" is for not skipping this file when checking.)
19384
96fd9af75834 tests: check-code all python files in one run
Simon Heimberg <simohe@besonet.ch>
parents: 19321
diff changeset
     8
21225
c58aa73bf0b9 test-check-code-hg: use locate instead of manifest
Matt Mackall <mpm@selenic.com>
parents: 21224
diff changeset
     9
  $ hg locate | sed 's-\\-/-g' |
19495
9aee3d014394 tests: test-check-code-hg.t works for all files to check
Simon Heimberg <simohe@besonet.ch>
parents: 19386
diff changeset
    10
  >   xargs "$check_code" --warnings --per-file=0 || false
20239
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
    11
  Skipping hgext/zeroconf/Zeroconf.py it has no-che?k-code (glob)
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
    12
  Skipping i18n/polib.py it has no-che?k-code (glob)
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
    13
  Skipping mercurial/httpclient/__init__.py it has no-che?k-code (glob)
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
    14
  Skipping mercurial/httpclient/_readers.py it has no-che?k-code (glob)
16b5f498f49c check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch>
parents: 19495
diff changeset
    15
  Skipping mercurial/httpclient/socketutil.py it has no-che?k-code (glob)