Mercurial > hg
view tests/test-doctest.py @ 31453:3b7a6941a6ef
py3: call codecs.escape_encode() directly
string_escape doesn't exist on Python 3, but fortunately the undocumented
codecs.escape_encode() function exists on CPython 2.6, 2.7, 3.5 and PyPy 5.6.
So let's use it for now.
http://stackoverflow.com/a/23151714
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 15 Mar 2017 23:28:39 +0900 |
parents | b70407bd84d5 |
children | a7c687c35119 |
line wrap: on
line source
# this is hack to make sure no escape characters are inserted into the output from __future__ import absolute_import import doctest import os import sys ispy3 = (sys.version_info[0] >= 3) if 'TERM' in os.environ: del os.environ['TERM'] # TODO: migrate doctests to py3 and enable them on both versions def testmod(name, optionflags=0, testtarget=None, py2=True, py3=False): if not (not ispy3 and py2 or ispy3 and py3): return __import__(name) mod = sys.modules[name] if testtarget is not None: mod = getattr(mod, testtarget) doctest.testmod(mod, optionflags=optionflags) testmod('mercurial.changegroup') testmod('mercurial.changelog') testmod('mercurial.dagparser', optionflags=doctest.NORMALIZE_WHITESPACE) testmod('mercurial.dispatch') testmod('mercurial.encoding') testmod('mercurial.formatter') testmod('mercurial.hg') testmod('mercurial.hgweb.hgwebdir_mod') testmod('mercurial.match') testmod('mercurial.minirst') testmod('mercurial.patch') testmod('mercurial.pathutil') testmod('mercurial.parser') testmod('mercurial.pycompat', py3=True) testmod('mercurial.revsetlang') testmod('mercurial.smartset') testmod('mercurial.store') testmod('mercurial.subrepo') testmod('mercurial.templatefilters') testmod('mercurial.templater') testmod('mercurial.ui') testmod('mercurial.url') testmod('mercurial.util') testmod('mercurial.util', testtarget='platform') testmod('hgext.convert.convcmd') testmod('hgext.convert.cvsps') testmod('hgext.convert.filemap') testmod('hgext.convert.p4') testmod('hgext.convert.subversion') testmod('hgext.mq')