Mercurial > hg
annotate tests/test-doctest.py @ 46113:59fa3890d40a
node: import symbols explicitly
There is no point in lazy importing mercurial.node, it is used all over
the place anyway. So consistently import the used symbols directly.
Fix one file using symbols indirectly via mercurial.revlog.
Differential Revision: https://phab.mercurial-scm.org/D9480
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Tue, 01 Dec 2020 21:54:46 +0100 |
parents | 89a2afe31e82 |
children | ffd3e823a7e5 |
rev | line source |
---|---|
7041
b856071435f7
tests: fix readline escape characters in output for test-doctest.py
Mads Kiilerich <mads@kiilerich.com>
parents:
5525
diff
changeset
|
1 # this is hack to make sure no escape characters are inserted into the output |
28933
6262f0215d08
tests: make test-doctest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
27432
diff
changeset
|
2 |
6262f0215d08
tests: make test-doctest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
27432
diff
changeset
|
3 from __future__ import absolute_import |
44565
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
4 from __future__ import print_function |
28933
6262f0215d08
tests: make test-doctest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
27432
diff
changeset
|
5 |
6262f0215d08
tests: make test-doctest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
27432
diff
changeset
|
6 import doctest |
45657
4a146cff76fa
tests: fix test-check-module-imports.t broken by D9150
Martin von Zweigbergk <martinvonz@google.com>
parents:
45633
diff
changeset
|
7 import os |
34140
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
8 import re |
44565
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
9 import subprocess |
28933
6262f0215d08
tests: make test-doctest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
27432
diff
changeset
|
10 import sys |
31438
82350f7fa56c
tests: allow running doctests selectively on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
31024
diff
changeset
|
11 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
12 ispy3 = sys.version_info[0] >= 3 |
31438
82350f7fa56c
tests: allow running doctests selectively on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
31024
diff
changeset
|
13 |
7078
967adcf5910d
test-doctest: remove TERM env variable only if it's there
Patrick Mezard <pmezard@gmail.com>
parents:
7041
diff
changeset
|
14 if 'TERM' in os.environ: |
7184
380fda3eed13
clean up trailing spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7078
diff
changeset
|
15 del os.environ['TERM'] |
3232
394ac87f3b74
[extendedchangelog] encode/decode function
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
16 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
17 |
34140
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
18 class py3docchecker(doctest.OutputChecker): |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
19 def check_output(self, want, got, optionflags): |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
20 want2 = re.sub(r'''\bu(['"])(.*?)\1''', r'\1\2\1', want) # py2: u'' |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
21 got2 = re.sub(r'''\bb(['"])(.*?)\1''', r'\1\2\1', got) # py3: b'' |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
22 # py3: <exc.name>: b'<msg>' -> <name>: <msg> |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
23 # <exc.name>: <others> -> <name>: <others> |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
24 got2 = re.sub( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
25 r'''^mercurial\.\w+\.(\w+): (['"])(.*?)\2''', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
26 r'\1: \3', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
27 got2, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
28 re.MULTILINE, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
29 ) |
34140
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
30 got2 = re.sub(r'^mercurial\.\w+\.(\w+): ', r'\1: ', got2, re.MULTILINE) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
31 return any( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
32 doctest.OutputChecker.check_output(self, w, g, optionflags) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
33 for w, g in [(want, got), (want2, got2)] |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
34 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
35 |
34140
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
36 |
34424
e416819d9ebb
doctest: drop hack to run py2/3 tests selectively
Yuya Nishihara <yuya@tcha.org>
parents:
34362
diff
changeset
|
37 def testmod(name, optionflags=0, testtarget=None): |
20047
10a7d2bcb81b
tests: make doctest test runner less verbose
Mads Kiilerich <madski@unity3d.com>
parents:
19098
diff
changeset
|
38 __import__(name) |
10a7d2bcb81b
tests: make doctest test runner less verbose
Mads Kiilerich <madski@unity3d.com>
parents:
19098
diff
changeset
|
39 mod = sys.modules[name] |
10a7d2bcb81b
tests: make doctest test runner less verbose
Mads Kiilerich <madski@unity3d.com>
parents:
19098
diff
changeset
|
40 if testtarget is not None: |
10a7d2bcb81b
tests: make doctest test runner less verbose
Mads Kiilerich <madski@unity3d.com>
parents:
19098
diff
changeset
|
41 mod = getattr(mod, testtarget) |
34140
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
42 |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
43 # minimal copy of doctest.testmod() |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
44 finder = doctest.DocTestFinder() |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
45 checker = None |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
46 if ispy3: |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
47 checker = py3docchecker() |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
48 runner = doctest.DocTestRunner(checker=checker, optionflags=optionflags) |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
49 for test in finder.find(mod, name): |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
50 runner.run(test) |
52ec9ac0303b
doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
32485
diff
changeset
|
51 runner.summarize() |
14171
fa2b596db182
ui: add configint function and tests
Sune Foldager <cryo@cyanite.org>
parents:
13949
diff
changeset
|
52 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
41359
diff
changeset
|
53 |
44565
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
54 DONT_RUN = [] |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
55 |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
56 # Exceptions to the defaults for a given detected module. The value for each |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
57 # module name is a list of dicts that specify the kwargs to pass to testmod. |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
58 # testmod is called once per item in the list, so an empty list will cause the |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
59 # module to not be tested. |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
60 testmod_arg_overrides = { |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
61 'i18n.check-translation': DONT_RUN, # may require extra installation |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
62 'mercurial.dagparser': [{'optionflags': doctest.NORMALIZE_WHITESPACE}], |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
63 'mercurial.keepalive': DONT_RUN, # >>> is an example, not a doctest |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
64 'mercurial.posix': DONT_RUN, # run by mercurial.platform |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
65 'mercurial.statprof': DONT_RUN, # >>> is an example, not a doctest |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
66 'mercurial.util': [{}, {'testtarget': 'platform'}], # run twice! |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
67 'mercurial.windows': DONT_RUN, # run by mercurial.platform |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
68 'tests.test-url': [{'optionflags': doctest.NORMALIZE_WHITESPACE}], |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
69 } |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
70 |
44656
15aef805619d
tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44565
diff
changeset
|
71 fileset = 'set:(**.py)' |
15aef805619d
tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44565
diff
changeset
|
72 |
15aef805619d
tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44565
diff
changeset
|
73 cwd = os.path.dirname(os.environ["TESTDIR"]) |
44565
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
74 |
45633
5a19d7c9129b
tests: skip doctests if not running from a hg repo
Joerg Sonnenberger <joerg@bec.de>
parents:
44656
diff
changeset
|
75 if not os.path.isdir(os.path.join(cwd, ".hg")): |
5a19d7c9129b
tests: skip doctests if not running from a hg repo
Joerg Sonnenberger <joerg@bec.de>
parents:
44656
diff
changeset
|
76 sys.exit(0) |
5a19d7c9129b
tests: skip doctests if not running from a hg repo
Joerg Sonnenberger <joerg@bec.de>
parents:
44656
diff
changeset
|
77 |
44565
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
78 files = subprocess.check_output( |
45942
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
45657
diff
changeset
|
79 "hg files --print0 \"%s\"" % fileset, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
45657
diff
changeset
|
80 shell=True, |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
45657
diff
changeset
|
81 cwd=cwd, |
44565
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
82 ).split(b'\0') |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
83 |
44656
15aef805619d
tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44565
diff
changeset
|
84 if sys.version_info[0] >= 3: |
15aef805619d
tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44565
diff
changeset
|
85 cwd = os.fsencode(cwd) |
15aef805619d
tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44565
diff
changeset
|
86 |
44565
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
87 mods_tested = set() |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
88 for f in files: |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
89 if not f: |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
90 continue |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
91 |
44656
15aef805619d
tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44565
diff
changeset
|
92 with open(os.path.join(cwd, f), "rb") as fh: |
15aef805619d
tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44565
diff
changeset
|
93 if not re.search(br'\n\s*>>>', fh.read()): |
15aef805619d
tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44565
diff
changeset
|
94 continue |
15aef805619d
tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44565
diff
changeset
|
95 |
44565
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
96 if ispy3: |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
97 f = f.decode() |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
98 |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
99 modname = f.replace('.py', '').replace('\\', '.').replace('/', '.') |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
100 |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
101 # Third-party modules aren't our responsibility to test, and the modules in |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
102 # contrib generally do not have doctests in a good state, plus they're hard |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
103 # to import if this test is running with py2, so we just skip both for now. |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
104 if modname.startswith('mercurial.thirdparty.') or modname.startswith( |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
105 'contrib.' |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
106 ): |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
107 continue |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
108 |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
109 for kwargs in testmod_arg_overrides.get(modname, [{}]): |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
110 mods_tested.add((modname, '%r' % (kwargs,))) |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
111 if modname.startswith('tests.'): |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
112 # On py2, we can't import from tests.foo, but it works on both py2 |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
113 # and py3 with the way that PYTHONPATH is setup to import without |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
114 # the 'tests.' prefix, so we do that. |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
115 modname = modname[len('tests.') :] |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
116 |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
117 testmod(modname, **kwargs) |
44564
529cb23155bc
tests: make test-doctest.t module list match reality
Kyle Lippincott <spectral@google.com>
parents:
43780
diff
changeset
|
118 |
44565
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
119 # Meta-test: let's make sure that we actually ran what we expected to, above. |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
120 # Each item in the set is a 2-tuple of module name and stringified kwargs passed |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
121 # to testmod. |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
122 expected_mods_tested = set( |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
123 [ |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
124 ('hgext.convert.convcmd', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
125 ('hgext.convert.cvsps', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
126 ('hgext.convert.filemap', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
127 ('hgext.convert.p4', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
128 ('hgext.convert.subversion', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
129 ('hgext.fix', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
130 ('hgext.mq', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
131 ('mercurial.changelog', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
132 ('mercurial.cmdutil', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
133 ('mercurial.color', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
134 ('mercurial.config', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
135 ('mercurial.dagparser', "{'optionflags': 4}"), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
136 ('mercurial.encoding', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
137 ('mercurial.fancyopts', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
138 ('mercurial.formatter', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
139 ('mercurial.hg', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
140 ('mercurial.hgweb.hgwebdir_mod', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
141 ('mercurial.match', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
142 ('mercurial.mdiff', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
143 ('mercurial.minirst', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
144 ('mercurial.parser', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
145 ('mercurial.patch', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
146 ('mercurial.pathutil', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
147 ('mercurial.pycompat', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
148 ('mercurial.revlogutils.deltas', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
149 ('mercurial.revset', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
150 ('mercurial.revsetlang', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
151 ('mercurial.simplemerge', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
152 ('mercurial.smartset', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
153 ('mercurial.store', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
154 ('mercurial.subrepo', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
155 ('mercurial.templater', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
156 ('mercurial.ui', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
157 ('mercurial.util', "{'testtarget': 'platform'}"), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
158 ('mercurial.util', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
159 ('mercurial.utils.dateutil', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
160 ('mercurial.utils.stringutil', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
161 ('tests.drawdag', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
162 ('tests.test-run-tests', '{}'), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
163 ('tests.test-url', "{'optionflags': 4}"), |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
164 ] |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
165 ) |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
166 |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
167 unexpectedly_run = mods_tested.difference(expected_mods_tested) |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
168 not_run = expected_mods_tested.difference(mods_tested) |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
169 |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
170 if unexpectedly_run: |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
171 print('Unexpectedly ran (probably need to add to list):') |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
172 for r in sorted(unexpectedly_run): |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
173 print(' %r' % (r,)) |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
174 if not_run: |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
175 print('Expected to run, but was not run (doctest removed?):') |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
176 for r in sorted(not_run): |
0af56d3ee24c
tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents:
44564
diff
changeset
|
177 print(' %r' % (r,)) |