Mercurial > hg
view tests/test-check-py3-compat.t @ 41508:b0865b5919c6
py3: account for demand import difference between Python versions
Our lazy importer for Python 3 will validate that modules are
loadable before returning a stub module object. This is different
from Python 2, which will always return a stub module object.
While we could change behavior of the Python 3 demand importer,
that seems like a problem for another day.
This commit teaches test-extension.t about that difference in
behavior.
Differential Revision: https://phab.mercurial-scm.org/D5798
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 01 Feb 2019 17:03:51 -0800 |
parents | 8cf459d8b111 |
children | 9f69ddb807f7 |
line wrap: on
line source
#require test-repo $ . "$TESTDIR/helpers-testrepo.sh" $ cd "$TESTDIR"/.. #if no-py3 $ testrepohg files 'set:(**.py)' \ > -X hgdemandimport/demandimportpy2.py \ > -X mercurial/thirdparty/cbor \ > | sed 's|\\|/|g' | xargs "$PYTHON" contrib/check-py3-compat.py contrib/python-zstandard/setup.py not using absolute_import contrib/python-zstandard/setup_zstd.py not using absolute_import contrib/python-zstandard/tests/common.py not using absolute_import contrib/python-zstandard/tests/test_buffer_util.py not using absolute_import contrib/python-zstandard/tests/test_compressor.py not using absolute_import contrib/python-zstandard/tests/test_compressor_fuzzing.py not using absolute_import contrib/python-zstandard/tests/test_data_structures.py not using absolute_import contrib/python-zstandard/tests/test_data_structures_fuzzing.py not using absolute_import contrib/python-zstandard/tests/test_decompressor.py not using absolute_import contrib/python-zstandard/tests/test_decompressor_fuzzing.py not using absolute_import contrib/python-zstandard/tests/test_estimate_sizes.py not using absolute_import contrib/python-zstandard/tests/test_module_attributes.py not using absolute_import contrib/python-zstandard/tests/test_train_dictionary.py not using absolute_import setup.py not using absolute_import #endif #if py3 $ testrepohg files 'set:(**.py) - grep(pygments)' \ > -X hgdemandimport/demandimportpy2.py \ > -X hgext/fsmonitor/pywatchman \ > -X mercurial/cffi \ > -X mercurial/thirdparty \ > | sed 's|\\|/|g' | xargs "$PYTHON" contrib/check-py3-compat.py \ > | sed 's/[0-9][0-9]*)$/*)/' hgext/convert/transport.py: error importing: <*Error> No module named 'svn.client' (error at transport.py:*) (glob) (?) hgext/infinitepush/sqlindexapi.py: error importing: <*Error> No module named 'mysql' (error at sqlindexapi.py:*) (glob) (?) mercurial/scmwindows.py: error importing: <ValueError> _type_ 'v' not supported (error at win32.py:*) (no-windows !) mercurial/win32.py: error importing: <ValueError> _type_ 'v' not supported (error at win32.py:*) (no-windows !) mercurial/windows.py: error importing: <ModuleNotFoundError> No module named 'msvcrt' (error at windows.py:*) (no-windows !) mercurial/posix.py: error importing: <ModuleNotFoundError> No module named 'fcntl' (error at posix.py:*) (windows !) mercurial/scmposix.py: error importing: <ModuleNotFoundError> No module named 'fcntl' (error at scmposix.py:*) (windows !) #endif #if py3 pygments $ testrepohg files 'set:(**.py) and grep(pygments)' | sed 's|\\|/|g' \ > | xargs "$PYTHON" contrib/check-py3-compat.py \ > | sed 's/[0-9][0-9]*)$/*)/' #endif