test-check-py3-compat: exclude thirdparty and cffi which are known to fail
Otherwise the following errors would be spilled out:
mercurial/cffi/bdiff.py: error importing: <ImportError> cannot import
name '_bdiff' (error at bdiff.py:*)
mercurial/cffi/bdiffbuild.py: error importing: <ModuleNotFoundError> No
module named 'cffi' (error at bdiffbuild.py:*)
mercurial/cffi/mpatch.py: error importing: <ImportError> cannot import
name '_mpatch' (error at mpatch.py:*)
mercurial/cffi/mpatchbuild.py: error importing: <ModuleNotFoundError> No
module named 'cffi' (error at mpatchbuild.py:*)
mercurial/cffi/osutilbuild.py: error importing: <ModuleNotFoundError> No
module named 'cffi' (error at osutilbuild.py:*)
mercurial/thirdparty/concurrent/futures/_base.py: invalid syntax: invalid
syntax (<unknown>, line *)
mercurial/thirdparty/concurrent/futures/process.py: error importing:
<SyntaxError> invalid syntax (_base.py, line 416) (error at __init__.py:*)
mercurial/thirdparty/concurrent/futures/thread.py: error importing:
<SyntaxError> invalid syntax (_base.py, line 416) (error at __init__.py:*)
mercurial/thirdparty/zope/interface/_flatten.py: error importing:
<ImportError> cannot import name 'Declaration' (error at _flatten.py:*)
Some of them can be suppressed by building cffi modules for example, but
I don't think it's worth keeping these modules covered by the compatibility
checker.
#!/usr/bin/env python
#
# mercurial - scalable distributed SCM
#
# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
import os
import sys
if os.environ.get('HGUNICODEPEDANTRY', False):
try:
reload(sys)
sys.setdefaultencoding("undefined")
except NameError:
pass
libdir = '@LIBDIR@'
if libdir != '@' 'LIBDIR' '@':
if not os.path.isabs(libdir):
libdir = os.path.join(os.path.dirname(os.path.realpath(__file__)),
libdir)
libdir = os.path.abspath(libdir)
sys.path.insert(0, libdir)
# enable importing on demand to reduce startup time
try:
if sys.version_info[0] < 3 or sys.version_info >= (3, 6):
import hgdemandimport; hgdemandimport.enable()
except ImportError:
sys.stderr.write("abort: couldn't find mercurial libraries in [%s]\n" %
' '.join(sys.path))
sys.stderr.write("(check your install and PYTHONPATH)\n")
sys.exit(-1)
from mercurial import dispatch
dispatch.run()