##// END OF EJS Templates
py3: stop using bytes[n] in patch.py
py3: stop using bytes[n] in patch.py

File last commit:

r34215:aa877860 default
r34253:c43d055a default
Show More
test-doctest.py
81 lines | 2.9 KiB | text/x-python | PythonLexer
Mads Kiilerich
tests: fix readline escape characters in output for test-doctest.py
r7041 # this is hack to make sure no escape characters are inserted into the output
Pulkit Goyal
tests: make test-doctest use absolute_import
r28933
from __future__ import absolute_import
import doctest
import os
Yuya Nishihara
doctest: normalize b'', u'' and exception output on Python 3...
r34142 import re
Pulkit Goyal
tests: make test-doctest use absolute_import
r28933 import sys
Yuya Nishihara
tests: allow running doctests selectively on Python 3...
r31438
ispy3 = (sys.version_info[0] >= 3)
Patrick Mezard
test-doctest: remove TERM env variable only if it's there
r7078 if 'TERM' in os.environ:
Dirkjan Ochtman
clean up trailing spaces
r7184 del os.environ['TERM']
Benoit Boissinot
[extendedchangelog] encode/decode function...
r3232
Yuya Nishihara
doctest: normalize b'', u'' and exception output on Python 3...
r34142 class py3docchecker(doctest.OutputChecker):
def check_output(self, want, got, optionflags):
want2 = re.sub(r'''\bu(['"])(.*?)\1''', r'\1\2\1', want) # py2: u''
got2 = re.sub(r'''\bb(['"])(.*?)\1''', r'\1\2\1', got) # py3: b''
# py3: <exc.name>: b'<msg>' -> <name>: <msg>
# <exc.name>: <others> -> <name>: <others>
got2 = re.sub(r'''^mercurial\.\w+\.(\w+): (['"])(.*?)\2''', r'\1: \3',
got2, re.MULTILINE)
got2 = re.sub(r'^mercurial\.\w+\.(\w+): ', r'\1: ', got2, re.MULTILINE)
return any(doctest.OutputChecker.check_output(self, w, g, optionflags)
for w, g in [(want, got), (want2, got2)])
Yuya Nishihara
tests: allow running doctests selectively on Python 3...
r31438 # TODO: migrate doctests to py3 and enable them on both versions
Yuya Nishihara
doctest: enable tests by default on Python 3...
r34143 def testmod(name, optionflags=0, testtarget=None, py2=True, py3=True):
Yuya Nishihara
tests: allow running doctests selectively on Python 3...
r31438 if not (not ispy3 and py2 or ispy3 and py3):
return
Mads Kiilerich
tests: make doctest test runner less verbose
r20047 __import__(name)
mod = sys.modules[name]
if testtarget is not None:
mod = getattr(mod, testtarget)
Yuya Nishihara
doctest: normalize b'', u'' and exception output on Python 3...
r34142
# minimal copy of doctest.testmod()
finder = doctest.DocTestFinder()
checker = None
if ispy3:
checker = py3docchecker()
runner = doctest.DocTestRunner(checker=checker, optionflags=optionflags)
for test in finder.find(mod, name):
runner.run(test)
runner.summarize()
Sune Foldager
ui: add configint function and tests
r14171
Augie Fackler
changegroup: introduce cg3, which has support for exchanging treemanifests...
r27432 testmod('mercurial.changegroup')
Mads Kiilerich
tests: make doctest test runner less verbose
r20047 testmod('mercurial.changelog')
Yuya Nishihara
color: insert color code after every "\e[0m" (issue5413)...
r31518 testmod('mercurial.color')
Jun Wu
ui: move configlist parser to config.py...
r31481 testmod('mercurial.config')
Siddharth Agarwal
annotate: add core algorithm to skip a rev...
r32485 testmod('mercurial.context')
Yuya Nishihara
py3: iterate bytes as a byte string in dagparser.py
r34209 testmod('mercurial.dagparser', optionflags=doctest.NORMALIZE_WHITESPACE)
Mads Kiilerich
tests: make doctest test runner less verbose
r20047 testmod('mercurial.dispatch')
Yuya Nishihara
py3: use 'surrogatepass' error handler to process U+DCxx transparently...
r34215 testmod('mercurial.encoding')
Yuya Nishihara
doctest: enable tests by default on Python 3...
r34143 testmod('mercurial.formatter', py3=False) # py3: write bytes to stdout
Yuya Nishihara
clone: add doctest for default destination
r20799 testmod('mercurial.hg')
Yuya Nishihara
doctest: enable tests by default on Python 3...
r34143 testmod('mercurial.hgweb.hgwebdir_mod', py3=False) # py3: repr(bytes) ?
Mads Kiilerich
tests: make doctest test runner less verbose
r20047 testmod('mercurial.match')
Denis Laxalde
mdiff: add a hunkinrange helper function...
r31808 testmod('mercurial.mdiff')
Mads Kiilerich
tests: make doctest test runner less verbose
r20047 testmod('mercurial.minirst')
Yuya Nishihara
doctest: enable tests by default on Python 3...
r34143 testmod('mercurial.patch', py3=False) # py3: bytes[n], etc. ?
testmod('mercurial.pathutil', py3=False) # py3: os.sep
Yuya Nishihara
parser: add helper to reduce nesting of chained infix operations...
r25306 testmod('mercurial.parser')
Yuya Nishihara
doctest: enable tests by default on Python 3...
r34143 testmod('mercurial.pycompat')
Yuya Nishihara
revset: split language services to revsetlang module (API)...
r31024 testmod('mercurial.revsetlang')
Yuya Nishihara
smartset: move set classes and related functions from revset module (API)...
r30881 testmod('mercurial.smartset')
Yuya Nishihara
py3: iterate bytes as a byte string in store.lowerencode()
r34212 testmod('mercurial.store')
Siddharth Agarwal
subrepo: factor out Git version check to add doctests...
r20840 testmod('mercurial.subrepo')
Mads Kiilerich
tests: make doctest test runner less verbose
r20047 testmod('mercurial.templatefilters')
Yuya Nishihara
templater: introduce one-pass parsing of nested template strings...
r25783 testmod('mercurial.templater')
Yuya Nishihara
py3: convert function name to bytes in ui.configwith()
r34205 testmod('mercurial.ui')
Mads Kiilerich
tests: make doctest test runner less verbose
r20047 testmod('mercurial.url')
Yuya Nishihara
doctest: enable tests by default on Python 3...
r34143 testmod('mercurial.util', py3=False) # py3: multiple bytes/unicode issues
Mads Kiilerich
tests: make doctest test runner less verbose
r20047 testmod('mercurial.util', testtarget='platform')
Yuya Nishihara
doctest: enable tests by default on Python 3...
r34143 testmod('hgext.convert.convcmd', py3=False) # py3: use of str() ?
Mads Kiilerich
tests: make doctest test runner less verbose
r20047 testmod('hgext.convert.cvsps')
Mads Kiilerich
convert: readability and test of rpairs function
r20048 testmod('hgext.convert.filemap')
Eugene Baranov
convert: unescape Perforce-escaped special characters in filenames
r25788 testmod('hgext.convert.p4')
Mads Kiilerich
convert: make subversion revsplit more stable when meeting revisions without @...
r20419 testmod('hgext.convert.subversion')
Mads Kiilerich
mq: refactor patchheader header ordering to match export (BC)...
r22546 testmod('hgext.mq')
Augie Fackler
drawdag: add a couple of doctests to help with python3 porting
r34203 # Helper scripts in tests/ that have doctests:
testmod('drawdag')