tests/test-doctest.py
author Manuel Jacob <me@manueljacob.de>
Thu, 15 Sep 2022 01:48:38 +0200
changeset 49494 c96ed4029fda
parent 48875 6000f5b25c9b
child 49873 40060267df22
permissions -rw-r--r--
templates: add filter to reverse list The filter supports only lists because for lists, it’s straightforward to implement. Reversing text doesn’t seem very useful and is hard to implement. Reversing the bytes would break multi-bytes encodings. Reversing the code points would break characters consisting of multiple code points. Reversing graphemes is non-trivial without using a library not included in the standard library.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
6262f0215d08 tests: make test-doctest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 27432
diff changeset
     4
import doctest
45657
4a146cff76fa tests: fix test-check-module-imports.t broken by D9150
Martin von Zweigbergk <martinvonz@google.com>
parents: 45633
diff changeset
     5
import os
34140
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
     6
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
     7
import subprocess
28933
6262f0215d08 tests: make test-doctest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 27432
diff changeset
     8
import sys
31438
82350f7fa56c tests: allow running doctests selectively on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 31024
diff changeset
     9
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    10
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
    11
7078
967adcf5910d test-doctest: remove TERM env variable only if it's there
Patrick Mezard <pmezard@gmail.com>
parents: 7041
diff changeset
    12
if 'TERM' in os.environ:
7184
380fda3eed13 clean up trailing spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7078
diff changeset
    13
    del os.environ['TERM']
3232
394ac87f3b74 [extendedchangelog] encode/decode function
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
    14
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    15
34140
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
    16
class py3docchecker(doctest.OutputChecker):
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
    17
    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
    18
        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
    19
        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
    20
        # 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
    21
        #      <exc.name>: <others> -> <name>: <others>
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    22
        got2 = re.sub(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    23
            r'''^mercurial\.\w+\.(\w+): (['"])(.*?)\2''',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    24
            r'\1: \3',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    25
            got2,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    26
            re.MULTILINE,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    27
        )
34140
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
    28
        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
    29
        return any(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    30
            doctest.OutputChecker.check_output(self, w, g, optionflags)
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    31
            for w, g in [(want, got), (want2, got2)]
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    32
        )
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    33
34140
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
    34
34424
e416819d9ebb doctest: drop hack to run py2/3 tests selectively
Yuya Nishihara <yuya@tcha.org>
parents: 34362
diff changeset
    35
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
    36
    __import__(name)
10a7d2bcb81b tests: make doctest test runner less verbose
Mads Kiilerich <madski@unity3d.com>
parents: 19098
diff changeset
    37
    mod = sys.modules[name]
10a7d2bcb81b tests: make doctest test runner less verbose
Mads Kiilerich <madski@unity3d.com>
parents: 19098
diff changeset
    38
    if testtarget is not None:
10a7d2bcb81b tests: make doctest test runner less verbose
Mads Kiilerich <madski@unity3d.com>
parents: 19098
diff changeset
    39
        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
    40
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
    41
    # 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
    42
    finder = doctest.DocTestFinder()
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
    43
    checker = None
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
    44
    if ispy3:
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
    45
        checker = py3docchecker()
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
    46
    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
    47
    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
    48
        runner.run(test)
52ec9ac0303b doctest: normalize b'', u'' and exception output on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 32485
diff changeset
    49
    runner.summarize()
14171
fa2b596db182 ui: add configint function and tests
Sune Foldager <cryo@cyanite.org>
parents: 13949
diff changeset
    50
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41359
diff changeset
    51
44565
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    52
DONT_RUN = []
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    53
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    54
# 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
    55
# 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
    56
# 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
    57
# 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
    58
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
    59
    '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
    60
    '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
    61
    '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
    62
    '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
    63
    '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
    64
    '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
    65
    '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
    66
    '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
    67
}
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    68
44656
15aef805619d tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44565
diff changeset
    69
fileset = 'set:(**.py)'
15aef805619d tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44565
diff changeset
    70
15aef805619d tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44565
diff changeset
    71
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
    72
45633
5a19d7c9129b tests: skip doctests if not running from a hg repo
Joerg Sonnenberger <joerg@bec.de>
parents: 44656
diff changeset
    73
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
    74
    sys.exit(0)
5a19d7c9129b tests: skip doctests if not running from a hg repo
Joerg Sonnenberger <joerg@bec.de>
parents: 44656
diff changeset
    75
44565
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    76
files = subprocess.check_output(
45942
89a2afe31e82 formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents: 45657
diff changeset
    77
    "hg files --print0 \"%s\"" % fileset,
89a2afe31e82 formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents: 45657
diff changeset
    78
    shell=True,
89a2afe31e82 formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents: 45657
diff changeset
    79
    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
    80
).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
    81
44656
15aef805619d tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44565
diff changeset
    82
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
    83
    cwd = os.fsencode(cwd)
15aef805619d tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44565
diff changeset
    84
44565
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    85
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
    86
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
    87
    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
    88
        continue
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    89
44656
15aef805619d tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44565
diff changeset
    90
    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
    91
        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
    92
            continue
15aef805619d tests: perform grep manually in test-doctest.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44565
diff changeset
    93
44565
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    94
    if ispy3:
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    95
        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
    96
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    97
    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
    98
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
    99
    # 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
   100
    # 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
   101
    # 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
   102
    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
   103
        'contrib.'
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   104
    ):
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   105
        continue
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
    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
   108
        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
   109
        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
   110
            # 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
   111
            # 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
   112
            # 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
   113
            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
   114
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   115
        testmod(modname, **kwargs)
44564
529cb23155bc tests: make test-doctest.t module list match reality
Kyle Lippincott <spectral@google.com>
parents: 43780
diff changeset
   116
44565
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   117
# 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
   118
# 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
   119
# to testmod.
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   120
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
   121
    [
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   122
        ('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
   123
        ('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
   124
        ('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
   125
        ('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
   126
        ('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
   127
        ('hgext.fix', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   128
        ('hgext.mq', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   129
        ('mercurial.changelog', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   130
        ('mercurial.cmdutil', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   131
        ('mercurial.color', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   132
        ('mercurial.dagparser', "{'optionflags': 4}"),
48741
46d12f7762e4 dirstate-v2: fix infinite loop in pure packer
Raphaël Gomès <rgomes@octobus.net>
parents: 47189
diff changeset
   133
        ('mercurial.dirstateutils.v2', '{}'),
44565
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   134
        ('mercurial.encoding', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   135
        ('mercurial.fancyopts', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   136
        ('mercurial.formatter', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   137
        ('mercurial.hg', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   138
        ('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
   139
        ('mercurial.match', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   140
        ('mercurial.mdiff', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   141
        ('mercurial.minirst', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   142
        ('mercurial.parser', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   143
        ('mercurial.patch', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   144
        ('mercurial.pathutil', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   145
        ('mercurial.pycompat', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   146
        ('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
   147
        ('mercurial.revset', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   148
        ('mercurial.revsetlang', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   149
        ('mercurial.simplemerge', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   150
        ('mercurial.smartset', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   151
        ('mercurial.store', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   152
        ('mercurial.subrepo', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   153
        ('mercurial.templater', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   154
        ('mercurial.ui', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   155
        ('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
   156
        ('mercurial.util', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   157
        ('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
   158
        ('mercurial.utils.stringutil', '{}'),
46907
ffd3e823a7e5 urlutil: extract `url` related code from `util` into the new module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45942
diff changeset
   159
        ('mercurial.utils.urlutil', '{}'),
44565
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   160
        ('tests.drawdag', '{}'),
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   161
        ('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
   162
        ('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
   163
    ]
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
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
   167
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
   168
0af56d3ee24c tests: make test-doctest.t automatically find files to run tests on
Kyle Lippincott <spectral@google.com>
parents: 44564
diff changeset
   169
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
   170
    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
   171
    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
   172
        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
   173
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
   174
    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
   175
    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
   176
        print('  %r' % (r,))