tests/test-check-py3-compat.t
author Olivier Trempe <oliviertrempe@gmail.com>
Wed, 08 Mar 2017 09:03:42 -0500
changeset 31846 1064a296a2a7
parent 31796 e0dc40530c5a
child 32522 9ed70525fd6e
permissions -rw-r--r--
fsmonitor: match watchman and filesystem encoding watchman's paths encoding can differ from filesystem encoding. For example, on Windows, it's always utf-8. Before this patch, on Windows, mismatch in path comparison between fsmonitor state and osutil.statfiles would yield a clean status for added/modified files. In addition to status reporting wrong results, this leads to files being discarded from changesets while doing history editing operations such as rebase. Benchmark: There is a little overhead at module import: python -m timeit "import hgext.fsmonitor" Windows before patch: 1000000 loops, best of 3: 0.563 usec per loop Windows after patch: 1000000 loops, best of 3: 0.583 usec per loop Linx before patch: 1000000 loops, best of 3: 0.579 usec per loop Linux after patch: 1000000 loops, best of 3: 0.588 usec per loop 10000 calls to _watchmantofsencoding: python -m timeit -s "from hgext.fsmonitor import _watchmantofsencoding, _fixencoding" "fname = '/path/to/file'" "for i in range(10000):" " if _fixencoding: fname = _watchmantofsencoding(fname)" Windows (_fixencoding is True): 100 loops, best of 3: 19.5 msec per loop Linux (_fixencoding is False): 100 loops, best of 3: 3.08 msec per loop
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27279
40eb385f798f tests: add test for Python 3 compatibility
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     1
#require test-repo
40eb385f798f tests: add test for Python 3 compatibility
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     2
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 29195
diff changeset
     3
  $ . "$TESTDIR/helpers-testrepo.sh"
27279
40eb385f798f tests: add test for Python 3 compatibility
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     4
  $ cd "$TESTDIR"/..
40eb385f798f tests: add test for Python 3 compatibility
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     5
27438
f121cf57ca9a tests: convert directory separators to '/' for MSYS in test-check-py-compat
Matt Harbison <matt_harbison@yahoo.com>
parents: 27361
diff changeset
     6
  $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs python contrib/check-py3-compat.py
30435
b86a448a2965 zstd: vendor python-zstandard 0.5.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30333
diff changeset
     7
  contrib/python-zstandard/setup.py not using absolute_import
b86a448a2965 zstd: vendor python-zstandard 0.5.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30333
diff changeset
     8
  contrib/python-zstandard/setup_zstd.py not using absolute_import
b86a448a2965 zstd: vendor python-zstandard 0.5.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30333
diff changeset
     9
  contrib/python-zstandard/tests/common.py not using absolute_import
31796
e0dc40530c5a zstd: vendor python-zstandard 0.8.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31480
diff changeset
    10
  contrib/python-zstandard/tests/test_buffer_util.py not using absolute_import
30435
b86a448a2965 zstd: vendor python-zstandard 0.5.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30333
diff changeset
    11
  contrib/python-zstandard/tests/test_compressor.py not using absolute_import
31796
e0dc40530c5a zstd: vendor python-zstandard 0.8.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31480
diff changeset
    12
  contrib/python-zstandard/tests/test_compressor_fuzzing.py not using absolute_import
30435
b86a448a2965 zstd: vendor python-zstandard 0.5.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30333
diff changeset
    13
  contrib/python-zstandard/tests/test_data_structures.py not using absolute_import
31796
e0dc40530c5a zstd: vendor python-zstandard 0.8.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31480
diff changeset
    14
  contrib/python-zstandard/tests/test_data_structures_fuzzing.py not using absolute_import
30435
b86a448a2965 zstd: vendor python-zstandard 0.5.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30333
diff changeset
    15
  contrib/python-zstandard/tests/test_decompressor.py not using absolute_import
31796
e0dc40530c5a zstd: vendor python-zstandard 0.8.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31480
diff changeset
    16
  contrib/python-zstandard/tests/test_decompressor_fuzzing.py not using absolute_import
30435
b86a448a2965 zstd: vendor python-zstandard 0.5.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30333
diff changeset
    17
  contrib/python-zstandard/tests/test_estimate_sizes.py not using absolute_import
b86a448a2965 zstd: vendor python-zstandard 0.5.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30333
diff changeset
    18
  contrib/python-zstandard/tests/test_module_attributes.py not using absolute_import
b86a448a2965 zstd: vendor python-zstandard 0.5.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30333
diff changeset
    19
  contrib/python-zstandard/tests/test_train_dictionary.py not using absolute_import
27279
40eb385f798f tests: add test for Python 3 compatibility
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    20
  i18n/check-translation.py not using absolute_import
40eb385f798f tests: add test for Python 3 compatibility
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    21
  setup.py not using absolute_import
40eb385f798f tests: add test for Python 3 compatibility
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    22
  tests/test-demandimport.py not using absolute_import
28583
260ce2eed951 tests: perform an ast parse with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28564
diff changeset
    23
260ce2eed951 tests: perform an ast parse with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28564
diff changeset
    24
#if py3exe
30673
81bf1a686b99 py3: exclude pywatchman from test-check-py3-compat.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 30672
diff changeset
    25
  $ hg files 'set:(**.py) - grep(pygments)' -X hgext/fsmonitor/pywatchman \
81bf1a686b99 py3: exclude pywatchman from test-check-py3-compat.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 30672
diff changeset
    26
  > | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py \
29810
ceff91dea404 py3: automatically glob out line numbers from check-py3-compat output
Yuya Nishihara <yuya@tcha.org>
parents: 29809
diff changeset
    27
  > | sed 's/[0-9][0-9]*)$/*)/'
31480
07fe520280d2 tests: allow ModuleNotFoundError in addition to ImportError
Martin von Zweigbergk <martinvonz@google.com>
parents: 30895
diff changeset
    28
  hgext/convert/transport.py: error importing: <*Error> No module named 'svn.client' (error at transport.py:*) (glob)
31846
1064a296a2a7 fsmonitor: match watchman and filesystem encoding
Olivier Trempe <oliviertrempe@gmail.com>
parents: 31796
diff changeset
    29
  hgext/fsmonitor/state.py: error importing: <SyntaxError> from __future__ imports must occur at the beginning of the file (__init__.py, line 30) (error at __init__.py:*)
1064a296a2a7 fsmonitor: match watchman and filesystem encoding
Olivier Trempe <oliviertrempe@gmail.com>
parents: 31796
diff changeset
    30
  hgext/fsmonitor/watchmanclient.py: error importing: <SyntaxError> from __future__ imports must occur at the beginning of the file (__init__.py, line 30) (error at __init__.py:*)
31480
07fe520280d2 tests: allow ModuleNotFoundError in addition to ImportError
Martin von Zweigbergk <martinvonz@google.com>
parents: 30895
diff changeset
    31
  mercurial/cffi/bdiff.py: error importing: <*Error> No module named 'mercurial.cffi' (error at check-py3-compat.py:*) (glob)
07fe520280d2 tests: allow ModuleNotFoundError in addition to ImportError
Martin von Zweigbergk <martinvonz@google.com>
parents: 30895
diff changeset
    32
  mercurial/cffi/mpatch.py: error importing: <*Error> No module named 'mercurial.cffi' (error at check-py3-compat.py:*) (glob)
07fe520280d2 tests: allow ModuleNotFoundError in addition to ImportError
Martin von Zweigbergk <martinvonz@google.com>
parents: 30895
diff changeset
    33
  mercurial/cffi/osutil.py: error importing: <*Error> No module named 'mercurial.cffi' (error at check-py3-compat.py:*) (glob)
07fe520280d2 tests: allow ModuleNotFoundError in addition to ImportError
Martin von Zweigbergk <martinvonz@google.com>
parents: 30895
diff changeset
    34
  mercurial/scmwindows.py: error importing: <*Error> No module named 'msvcrt' (error at win32.py:*) (glob)
07fe520280d2 tests: allow ModuleNotFoundError in addition to ImportError
Martin von Zweigbergk <martinvonz@google.com>
parents: 30895
diff changeset
    35
  mercurial/win32.py: error importing: <*Error> No module named 'msvcrt' (error at win32.py:*) (glob)
07fe520280d2 tests: allow ModuleNotFoundError in addition to ImportError
Martin von Zweigbergk <martinvonz@google.com>
parents: 30895
diff changeset
    36
  mercurial/windows.py: error importing: <*Error> No module named 'msvcrt' (error at windows.py:*) (glob)
28583
260ce2eed951 tests: perform an ast parse with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28564
diff changeset
    37
260ce2eed951 tests: perform an ast parse with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28564
diff changeset
    38
#endif
29886
e2c086f147ef py3: split check of pygments-using files from the rest of the tree
Augie Fackler <augie@google.com>
parents: 29810
diff changeset
    39
e2c086f147ef py3: split check of pygments-using files from the rest of the tree
Augie Fackler <augie@google.com>
parents: 29810
diff changeset
    40
#if py3exe py3pygments
e2c086f147ef py3: split check of pygments-using files from the rest of the tree
Augie Fackler <augie@google.com>
parents: 29810
diff changeset
    41
  $ hg files 'set:(**.py) and grep(pygments)' | sed 's|\\|/|g' \
e2c086f147ef py3: split check of pygments-using files from the rest of the tree
Augie Fackler <augie@google.com>
parents: 29810
diff changeset
    42
  > | xargs $PYTHON3 contrib/check-py3-compat.py \
e2c086f147ef py3: split check of pygments-using files from the rest of the tree
Augie Fackler <augie@google.com>
parents: 29810
diff changeset
    43
  > | sed 's/[0-9][0-9]*)$/*)/'
e2c086f147ef py3: split check of pygments-using files from the rest of the tree
Augie Fackler <augie@google.com>
parents: 29810
diff changeset
    44
#endif