Mercurial > hg
annotate tests/test-check-py3-compat.t @ 35930:83d67257ba90
tests: add low-level SSH protocol tests
We don't really have good low-level tests for the behavior of the SSH
wire protocol. This commit attempts to establish some.
The added tests consist of a mixture of starting a server
with `hg serve --stdio` and sending bytes to it and using
`hg debugpeer` to go through the official client code. Having
insight into what raw bytes are exchanged as well as what the peer
does is useful.
We also introduce a test extension for modifying the behavior of
the SSH server and peer. For example, we change the server to
not recognize the "hello" command, simulating behavior of <0.9.1
servers.
These tests are generally useful to have. But the impetus for creating
them now is they will be needed for verifying behavior of old clients
and servers when a new SSH protocol is introduced.
Differential Revision: https://phab.mercurial-scm.org/D2026
# no-check-commit because of serve_forever()
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 04 Feb 2018 14:02:41 -0800 |
parents | eddca62d9e64 |
children | 0e06d8086295 |
rev | line source |
---|---|
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 |
33530
05e3fa254b6b
demandimport: drop Py3 workarounds from Py2 implementation
Yuya Nishihara <yuya@tcha.org>
parents:
33204
diff
changeset
|
6 $ testrepohg files 'set:(**.py)' \ |
05e3fa254b6b
demandimport: drop Py3 workarounds from Py2 implementation
Yuya Nishihara <yuya@tcha.org>
parents:
33204
diff
changeset
|
7 > -X hgdemandimport/demandimportpy2.py \ |
05e3fa254b6b
demandimport: drop Py3 workarounds from Py2 implementation
Yuya Nishihara <yuya@tcha.org>
parents:
33204
diff
changeset
|
8 > | 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
|
9 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
|
10 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
|
11 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
|
12 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
|
13 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
|
14 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
|
15 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
|
16 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
|
17 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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 setup.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 |
33204
ddd65b4f3ae6
tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents:
33116
diff
changeset
|
25 $ testrepohg files 'set:(**.py) - grep(pygments)' \ |
33530
05e3fa254b6b
demandimport: drop Py3 workarounds from Py2 implementation
Yuya Nishihara <yuya@tcha.org>
parents:
33204
diff
changeset
|
26 > -X hgdemandimport/demandimportpy2.py \ |
33204
ddd65b4f3ae6
tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents:
33116
diff
changeset
|
27 > -X hgext/fsmonitor/pywatchman \ |
30673
81bf1a686b99
py3: exclude pywatchman from test-check-py3-compat.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30672
diff
changeset
|
28 > | 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
|
29 > | 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
|
30 hgext/convert/transport.py: error importing: <*Error> No module named 'svn.client' (error at transport.py:*) (glob) |
32522
9ed70525fd6e
py3: update test-check-py3-compat.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31846
diff
changeset
|
31 mercurial/cffi/bdiff.py: error importing: <ImportError> cannot import name '_bdiff' (error at bdiff.py:*) |
9ed70525fd6e
py3: update test-check-py3-compat.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31846
diff
changeset
|
32 mercurial/cffi/bdiffbuild.py: error importing: <ImportError> No module named 'cffi' (error at bdiffbuild.py:*) |
9ed70525fd6e
py3: update test-check-py3-compat.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31846
diff
changeset
|
33 mercurial/cffi/mpatch.py: error importing: <ImportError> cannot import name '_mpatch' (error at mpatch.py:*) |
9ed70525fd6e
py3: update test-check-py3-compat.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31846
diff
changeset
|
34 mercurial/cffi/mpatchbuild.py: error importing: <ImportError> No module named 'cffi' (error at mpatchbuild.py:*) |
9ed70525fd6e
py3: update test-check-py3-compat.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31846
diff
changeset
|
35 mercurial/cffi/osutilbuild.py: error importing: <ImportError> No module named 'cffi' (error at osutilbuild.py:*) |
31480
07fe520280d2
tests: allow ModuleNotFoundError in addition to ImportError
Martin von Zweigbergk <martinvonz@google.com>
parents:
30895
diff
changeset
|
36 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
|
37 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
|
38 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
|
39 |
260ce2eed951
tests: perform an ast parse with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents:
28564
diff
changeset
|
40 #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
|
41 |
e2c086f147ef
py3: split check of pygments-using files from the rest of the tree
Augie Fackler <augie@google.com>
parents:
29810
diff
changeset
|
42 #if py3exe py3pygments |
33204
ddd65b4f3ae6
tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents:
33116
diff
changeset
|
43 $ testrepohg files 'set:(**.py) and grep(pygments)' | sed 's|\\|/|g' \ |
29886
e2c086f147ef
py3: split check of pygments-using files from the rest of the tree
Augie Fackler <augie@google.com>
parents:
29810
diff
changeset
|
44 > | 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
|
45 > | 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
|
46 #endif |