Mercurial > hg
annotate tests/dummyssh @ 51961:a9b1acca2b14 stable
relnotes: skip the test if the source repository is not readable
The test want to run the relnot extension, with the tested mercurial, on the
original repository. This is not always possible (e.g. when running with --pure
and the repository use zstd for example). So we skip the test in this case.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 08 Oct 2024 15:54:59 +0200 |
parents | 6000f5b25c9b |
children |
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 |
26d4ce8ca2bd
py3: make tests/dummyssh use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
19320
diff
changeset
|
4 import os |
47641
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
5 import shlex |
47640
119673fb37aa
dummyssh: use subprocess instead of os.call
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45830
diff
changeset
|
6 import subprocess |
14186 | 7 import sys |
8 | |
9 os.chdir(os.getenv('TESTTMP')) | |
10 | |
11 if sys.argv[1] != "user@dummy": | |
12 sys.exit(-1) | |
13 | |
31007 | 14 os.environ["SSH_CLIENT"] = "%s 1 2" % os.environ.get('LOCALIP', '127.0.0.1') |
14186 | 15 |
16 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
|
17 log.write(b"Got arguments") |
14186 | 18 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
|
19 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
|
20 log.write(b"\n") |
14186 | 21 log.close() |
15768
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
22 hgcmd = sys.argv[2] |
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
23 if os.name == 'nt': |
cdf9c43445df
tests: make simple single quotes work with dummyssh on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
14186
diff
changeset
|
24 # 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
|
25 hgcmd = hgcmd.replace("'", '"') |
47641
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
26 cmds = shlex.split(hgcmd) |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
27 if cmds[0].endswith('.py'): |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
28 python_exe = os.environ['PYTHON'] |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
29 cmds.insert(0, python_exe) |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
30 hgcmd = shlex.join(cmds) |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
31 # shlex generate windows incompatible string... |
5d9f89cd4984
dummyssh: call python script with python
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47640
diff
changeset
|
32 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
|
33 r = subprocess.call(hgcmd, shell=True, close_fds=True) |
14186 | 34 sys.exit(bool(r)) |