Mercurial > hg
annotate tests/dummyssh @ 48845:5c8148cd7f13
automation: drop support for Python 2.7 in Linux environment
We stop installing Python 2.7 via pyenv. We stop installing the system
Python 2 packages. We delete support for running tests on Python 2.7.
Differential Revision: https://phab.mercurial-scm.org/D12262
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 19 Feb 2022 18:18:35 -0700 |
parents | fb8389f227a0 |
children | 6000f5b25c9b |
rev | line source |
---|---|
45830
c102b704edb5
global: use python3 in shebangs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36121
diff
changeset
|
1 #!/usr/bin/env python3 |
14186 | 2 |
29159
26d4ce8ca2bd
py3: make tests/dummyssh use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
19320
diff
changeset
|
3 from __future__ import absolute_import |
26d4ce8ca2bd
py3: make tests/dummyssh use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
19320
diff
changeset
|
4 |
26d4ce8ca2bd
py3: make tests/dummyssh use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
19320
diff
changeset
|
5 import os |
47641
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
6 import shlex |
47640
119673fb37aa
dummyssh: use subprocess instead of os.call
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45830
diff
changeset
|
7 import subprocess |
14186 | 8 import sys |
9 | |
10 os.chdir(os.getenv('TESTTMP')) | |
11 | |
12 if sys.argv[1] != "user@dummy": | |
13 sys.exit(-1) | |
14 | |
31007 | 15 os.environ["SSH_CLIENT"] = "%s 1 2" % os.environ.get('LOCALIP', '127.0.0.1') |
14186 | 16 |
17 log = open("dummylog", "ab") | |
35570
3e3f4c03876b
tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31007
diff
changeset
|
18 log.write(b"Got arguments") |
14186 | 19 for i, arg in enumerate(sys.argv[1:]): |
36121
3a763d7f40e1
py3: make dummyssh compatible with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents:
35570
diff
changeset
|
20 log.write(b" %d:%s" % (i + 1, arg.encode('latin1'))) |
3a763d7f40e1
py3: make dummyssh compatible with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents:
35570
diff
changeset
|
21 log.write(b"\n") |
14186 | 22 log.close() |
15768
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
23 hgcmd = sys.argv[2] |
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
24 if os.name == 'nt': |
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
25 # hack to make simple unix single quote quoting work on windows |
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
26 hgcmd = hgcmd.replace("'", '"') |
47641
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
27 cmds = shlex.split(hgcmd) |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
28 if cmds[0].endswith('.py'): |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
29 python_exe = os.environ['PYTHON'] |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
30 cmds.insert(0, python_exe) |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
31 hgcmd = shlex.join(cmds) |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
32 # shlex generate windows incompatible string... |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
33 hgcmd = hgcmd.replace("'", '"') |
47774
fb8389f227a0
dummyssh: make sure we don't inherit files descriptor to the children
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47641
diff
changeset
|
34 r = subprocess.call(hgcmd, shell=True, close_fds=True) |
14186 | 35 sys.exit(bool(r)) |