tests/test-check-code.t
author Jun Wu <quark@fb.com>
Fri, 14 Jul 2017 20:19:46 -0700
changeset 33502 5d0c0c8d2929
parent 33204 ddd65b4f3ae6
child 33583 b2c27d84f05c
permissions -rw-r--r--
selector2: vendor selector2 library This library was a backport of the Python 3 "selectors" library. It is useful to provide a better selector interface for Python2, to address some issues of the plain old select.select, mentioned in the next patch. The code [1] was ported using the MIT license, with some minor modifications to make our test happy: 1. "# no-check-code" was added since it's foreign code. 2. "from __future__ import absolute_import" was added. 3. "from collections import namedtuple, Mapping" changed to avoid direct symbol import. [1]: https://github.com/SethMichaelLarson/selectors2/blob/d27dbd2fdc48331fb76ed431f44b6e6956de7f82/selectors2.py # no-check-commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27368
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     1
#require test-repo
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     2
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 28529
diff changeset
     3
  $ . "$TESTDIR/helpers-testrepo.sh"
27368
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     4
  $ check_code="$TESTDIR"/../contrib/check-code.py
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     5
  $ cd "$TESTDIR"/..
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     6
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     7
New errors are not allowed. Warnings are strongly discouraged.
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     8
(The writing "no-che?k-code" is for not skipping this file when checking.)
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     9
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33116
diff changeset
    10
  $ testrepohg locate -X contrib/python-zstandard \
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33116
diff changeset
    11
  > -X hgext/fsmonitor/pywatchman |
31825
6c7a58d3ca5d test-check-code: do not use xargs
Jun Wu <quark@fb.com>
parents: 31823
diff changeset
    12
  > sed 's-\\-/-g' | "$check_code" --warnings --per-file=0 - || false
27368
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    13
  Skipping i18n/polib.py it has no-che?k-code (glob)
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    14
  Skipping mercurial/httpclient/__init__.py it has no-che?k-code (glob)
409a20314c64 tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    15
  Skipping mercurial/httpclient/_readers.py it has no-che?k-code (glob)
33502
5d0c0c8d2929 selector2: vendor selector2 library
Jun Wu <quark@fb.com>
parents: 33204
diff changeset
    16
  Skipping mercurial/selectors2.py it has no-che?k-code (glob)
30253
b032a7b676c6 statprof: vendor statprof.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29442
diff changeset
    17
  Skipping mercurial/statprof.py it has no-che?k-code (glob)
32001
c85f19c66e8d tests: add tests for poorly behaving HTTP server
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31990
diff changeset
    18
  Skipping tests/badserverext.py it has no-che?k-code (glob)
30540
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    19
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    20
@commands in debugcommands.py should be in alphabetical order.
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    21
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    22
  >>> import re
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    23
  >>> commands = []
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    24
  >>> with open('mercurial/debugcommands.py', 'rb') as fh:
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    25
  ...     for line in fh:
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    26
  ...         m = re.match("^@command\('([a-z]+)", line)
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    27
  ...         if m:
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    28
  ...             commands.append(m.group(1))
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    29
  >>> scommands = list(sorted(commands))
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    30
  >>> for i, command in enumerate(scommands):
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    31
  ...     if command != commands[i]:
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    32
  ...         print('commands in debugcommands.py not sorted; first differing '
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    33
  ...               'command is %s; expected %s' % (commands[i], command))
d955cebd8d6a tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30435
diff changeset
    34
  ...         break
31726
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    35
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    36
Prevent adding new files in the root directory accidentally.
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    37
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33116
diff changeset
    38
  $ testrepohg files 'glob:*'
31726
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    39
  .editorconfig
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    40
  .hgignore
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    41
  .hgsigs
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    42
  .hgtags
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    43
  CONTRIBUTING
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    44
  CONTRIBUTORS
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    45
  COPYING
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    46
  Makefile
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    47
  README
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    48
  hg
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    49
  hgeditor
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    50
  hgweb.cgi
bdb72dd3957e test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents: 31724
diff changeset
    51
  setup.py