##// END OF EJS Templates
templater: add option to parse template string just like raw string literal...
templater: add option to parse template string just like raw string literal This seems a bit odd because the template syntax has no raw string literal containing template fragments, but is necessary to port filename format string to templater. See the next patch.

File last commit:

r35179:898c6f81 stable
r36527:638c012a default
Show More
test-doctest.py
79 lines | 2.5 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
doctest: drop hack to run py2/3 tests selectively...
r34425 def testmod(name, optionflags=0, testtarget=None):
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
fancyopts: add early-options parser compatible with getopt()...
r35179 testmod('mercurial.fancyopts')
Yuya Nishihara
py3: convert system strings to bytes in doctest of formatter.py
r34257 testmod('mercurial.formatter')
Yuya Nishihara
clone: add doctest for default destination
r20799 testmod('mercurial.hg')
Yuya Nishihara
py3: remove use of str() in hgwebdir...
r34354 testmod('mercurial.hgweb.hgwebdir_mod')
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
py3: fix doctests in patch.py to be compatible with Python 3...
r34254 testmod('mercurial.patch')
Yuya Nishihara
py3: use bytes os.sep in doctest of pathutil.py
r34255 testmod('mercurial.pathutil')
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
py3: work around bytes/unicode divergence in parsedate()
r34358 testmod('mercurial.util')
Mads Kiilerich
tests: make doctest test runner less verbose
r20047 testmod('mercurial.util', testtarget='platform')
Yuya Nishihara
py3: replace str(None) with literal in convcmd.py
r34355 testmod('hgext.convert.convcmd')
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')