Mercurial > hg-stable
annotate tests/test-check-code.t @ 43831:5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
This is taken from the (improved since we started fuzzing) guide on ideal
integrations. Rather than have our own wonky targets for building outside the
fuzzer universe, we have a driver program we carry along and use when we're
not using LibFuzzer. This will let us jettison a fair amount of goo.
contrib/fuzz/standalone_fuzz_target_runner.cc is
https://github.com/google/oss-fuzz/ file
projects/example/my-api-repo/standalone from git revision
c4579d9358a73ea5dbcc99cb985de1f2bf76dcf7, reformatted with out
clang-format settings and a no-check-code comment added. It allows
running a single test input through a fuzzer, rather than performing
ongoing fuzzing as libfuzzer would.
contrib/fuzz/FuzzedDataProvider.h is
https://github.com/llvm/llvm-project/ file
/compiler-rt/include/fuzzer/FuzzedDataProvider.h from git revision
a44ef027ebca1598892ea9b104d6189aeb3bc2f0, reformatted with our
clang-format settings and a no-check-code comment added. We can
discard this if we instead want to add an hghave check for a new
enough llvm that includes FuzzedDataProvder.h in the fuzzer headers.
Differential Revision: https://phab.mercurial-scm.org/D7564
author | Augie Fackler <augie@google.com> |
---|---|
date | Fri, 06 Dec 2019 15:19:47 -0500 |
parents | f0b33e5f0cf4 |
children | 94f4f2ec7dee |
rev | line source |
---|---|
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 |
34396
41401f502c83
tests: disable lints on mercurial/thirdparty
Siddharth Agarwal <sid0@fb.com>
parents:
33583
diff
changeset
|
10 $ testrepohg locate \ |
41401f502c83
tests: disable lints on mercurial/thirdparty
Siddharth Agarwal <sid0@fb.com>
parents:
33583
diff
changeset
|
11 > -X contrib/python-zstandard \ |
41401f502c83
tests: disable lints on mercurial/thirdparty
Siddharth Agarwal <sid0@fb.com>
parents:
33583
diff
changeset
|
12 > -X hgext/fsmonitor/pywatchman \ |
41401f502c83
tests: disable lints on mercurial/thirdparty
Siddharth Agarwal <sid0@fb.com>
parents:
33583
diff
changeset
|
13 > -X mercurial/thirdparty \ |
41401f502c83
tests: disable lints on mercurial/thirdparty
Siddharth Agarwal <sid0@fb.com>
parents:
33583
diff
changeset
|
14 > | sed 's-\\-/-g' | "$check_code" --warnings --per-file=0 - || false |
42024
b05a3e28cf24
automation: perform tasks on remote machines
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41926
diff
changeset
|
15 Skipping contrib/automation/hgautomation/__init__.py it has no-che?k-code (glob) |
b05a3e28cf24
automation: perform tasks on remote machines
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41926
diff
changeset
|
16 Skipping contrib/automation/hgautomation/aws.py it has no-che?k-code (glob) |
b05a3e28cf24
automation: perform tasks on remote machines
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41926
diff
changeset
|
17 Skipping contrib/automation/hgautomation/cli.py it has no-che?k-code (glob) |
42312
65b3ef162b39
automation: initial support for running Linux tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
42024
diff
changeset
|
18 Skipping contrib/automation/hgautomation/linux.py it has no-che?k-code (glob) |
42913
92593d72e10b
automation: implement "publish-windows-artifacts" command
Gregory Szorc <gregory.szorc@gmail.com>
parents:
42312
diff
changeset
|
19 Skipping contrib/automation/hgautomation/pypi.py it has no-che?k-code (glob) |
42312
65b3ef162b39
automation: initial support for running Linux tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
42024
diff
changeset
|
20 Skipping contrib/automation/hgautomation/ssh.py it has no-che?k-code (glob) |
43057
c5c502bd1f70
automation: add a command to submit to a Try server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
42913
diff
changeset
|
21 Skipping contrib/automation/hgautomation/try_server.py it has no-che?k-code (glob) |
42024
b05a3e28cf24
automation: perform tasks on remote machines
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41926
diff
changeset
|
22 Skipping contrib/automation/hgautomation/windows.py it has no-che?k-code (glob) |
b05a3e28cf24
automation: perform tasks on remote machines
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41926
diff
changeset
|
23 Skipping contrib/automation/hgautomation/winrm.py it has no-che?k-code (glob) |
43831
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43733
diff
changeset
|
24 Skipping contrib/fuzz/FuzzedDataProvider.h it has no-che?k-code (glob) |
5a9e2ae9899b
fuzz: use a more standard approach to allow local builds of fuzzers
Augie Fackler <augie@google.com>
parents:
43733
diff
changeset
|
25 Skipping contrib/fuzz/standalone_fuzz_target_runner.cc it has no-che?k-code (glob) |
43561
081a77df7bc6
packaging: consolidate CLI functionality into packaging.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
43348
diff
changeset
|
26 Skipping contrib/packaging/hgpackaging/cli.py it has no-che?k-code (glob) |
41913
c2237fe1359e
packaging: split downloading code into own module
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41912
diff
changeset
|
27 Skipping contrib/packaging/hgpackaging/downloads.py it has no-che?k-code (glob) |
41916
dc7827a9ba64
packaging: move Inno Setup core logic into a module
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41913
diff
changeset
|
28 Skipping contrib/packaging/hgpackaging/inno.py it has no-che?k-code (glob) |
41920
a2e191a937a9
packaging: extract py2exe functionality to own module
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41916
diff
changeset
|
29 Skipping contrib/packaging/hgpackaging/py2exe.py it has no-che?k-code (glob) |
41912
9da97f49d4f4
packaging: establish hgpackaging package
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41858
diff
changeset
|
30 Skipping contrib/packaging/hgpackaging/util.py it has no-che?k-code (glob) |
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41920
diff
changeset
|
31 Skipping contrib/packaging/hgpackaging/wix.py it has no-che?k-code (glob) |
27368
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
32 Skipping i18n/polib.py it has no-che?k-code (glob) |
30267
b032a7b676c6
statprof: vendor statprof.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29442
diff
changeset
|
33 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
|
34 Skipping tests/badserverext.py it has no-che?k-code (glob) |
30549
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
35 |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
36 @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:
30444
diff
changeset
|
37 |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
38 >>> import re |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
39 >>> commands = [] |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
40 >>> 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:
30444
diff
changeset
|
41 ... for line in fh: |
41561
f16c03c7a3d7
tests: use raw string in test-check-code.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
40163
diff
changeset
|
42 ... m = re.match(br"^@command\('([a-z]+)", line) |
30549
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
43 ... if m: |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
44 ... commands.append(m.group(1)) |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
45 >>> scommands = list(sorted(commands)) |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
46 >>> for i, command in enumerate(scommands): |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
47 ... if command != commands[i]: |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30444
diff
changeset
|
48 ... 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:
30444
diff
changeset
|
49 ... '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:
30444
diff
changeset
|
50 ... break |
31731
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
51 |
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
52 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:
31729
diff
changeset
|
53 |
33204
ddd65b4f3ae6
tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents:
33128
diff
changeset
|
54 $ testrepohg files 'glob:*' |
33583
b2c27d84f05c
phabricator: include the suggested arc config in the repo
Alex Gaynor <agaynor@mozilla.com>
parents:
33502
diff
changeset
|
55 .arcconfig |
34798
e33381d95930
clang-format: configuration for the clang-format source formatter
Augie Fackler <raf@durin42.com>
parents:
34579
diff
changeset
|
56 .clang-format |
31731
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
57 .editorconfig |
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
58 .hgignore |
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
59 .hgsigs |
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
60 .hgtags |
35183
bdd2e18b54c5
hgweb: add .jshintrc with some basic rules
Anton Shestakov <av6@dwimlabs.net>
parents:
34798
diff
changeset
|
61 .jshintrc |
31731
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
62 CONTRIBUTING |
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
63 CONTRIBUTORS |
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
64 COPYING |
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
65 Makefile |
34579
1b59287a1cfa
doc: rename README to README.rst
David Demelier <markand@malikania.fr>
parents:
34396
diff
changeset
|
66 README.rst |
43222
8f89899a5446
black: rename pyproject.toml to black.toml
Augie Fackler <augie@google.com>
parents:
43083
diff
changeset
|
67 black.toml |
31731
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
68 hg |
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
69 hgeditor |
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
70 hgweb.cgi |
bdb72dd3957e
test-check-code: prevent files being added to the root directory
Jun Wu <quark@fb.com>
parents:
31729
diff
changeset
|
71 setup.py |
37804
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
72 |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
73 Prevent adding modules which could be shadowed by ancient .so/.dylib. |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
74 |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
75 $ testrepohg files \ |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
76 > mercurial/base85.py \ |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
77 > mercurial/bdiff.py \ |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
78 > mercurial/diffhelpers.py \ |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
79 > mercurial/mpatch.py \ |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
80 > mercurial/osutil.py \ |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
81 > mercurial/parsers.py \ |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
82 > mercurial/zstd.py |
1ec874717d8a
test-check-code: prevent from adding Python modules shadowed by ancient C
Yuya Nishihara <yuya@tcha.org>
parents:
36456
diff
changeset
|
83 [1] |
40163
9f0ee4a60d65
tests: ensure the python 3 passing test list stays sorted
Augie Fackler <augie@google.com>
parents:
39094
diff
changeset
|
84 |
9f0ee4a60d65
tests: ensure the python 3 passing test list stays sorted
Augie Fackler <augie@google.com>
parents:
39094
diff
changeset
|
85 Keep python3 tests sorted: |
9f0ee4a60d65
tests: ensure the python 3 passing test list stays sorted
Augie Fackler <augie@google.com>
parents:
39094
diff
changeset
|
86 $ sort < contrib/python3-whitelist > $TESTTMP/py3sorted |
9f0ee4a60d65
tests: ensure the python 3 passing test list stays sorted
Augie Fackler <augie@google.com>
parents:
39094
diff
changeset
|
87 $ cmp contrib/python3-whitelist $TESTTMP/py3sorted || echo 'Please sort passing tests!' |
43733
f0b33e5f0cf4
tests: check for Windows line endings
Gregory Szorc <gregory.szorc@gmail.com>
parents:
43561
diff
changeset
|
88 |
f0b33e5f0cf4
tests: check for Windows line endings
Gregory Szorc <gregory.szorc@gmail.com>
parents:
43561
diff
changeset
|
89 Keep Windows line endings in check |
f0b33e5f0cf4
tests: check for Windows line endings
Gregory Szorc <gregory.szorc@gmail.com>
parents:
43561
diff
changeset
|
90 |
f0b33e5f0cf4
tests: check for Windows line endings
Gregory Szorc <gregory.szorc@gmail.com>
parents:
43561
diff
changeset
|
91 $ hg files 'set:eol(dos)' |
f0b33e5f0cf4
tests: check for Windows line endings
Gregory Szorc <gregory.szorc@gmail.com>
parents:
43561
diff
changeset
|
92 contrib/win32/hg.bat |
f0b33e5f0cf4
tests: check for Windows line endings
Gregory Szorc <gregory.szorc@gmail.com>
parents:
43561
diff
changeset
|
93 contrib/win32/mercurial.ini |