Mercurial > hg-stable
view tests/dummyssh @ 47641:5d9f89cd4984
dummyssh: call python script with python
We don't want windows to grab whatever python got configured to run .py file. We
need the python used during the test to be used.
Differential Revision: https://phab.mercurial-scm.org/D11083
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 11 Jul 2021 17:03:58 +0200 |
parents | 119673fb37aa |
children | fb8389f227a0 |
line wrap: on
line source
#!/usr/bin/env python3 from __future__ import absolute_import import os import shlex import subprocess import sys os.chdir(os.getenv('TESTTMP')) if sys.argv[1] != "user@dummy": sys.exit(-1) os.environ["SSH_CLIENT"] = "%s 1 2" % os.environ.get('LOCALIP', '127.0.0.1') log = open("dummylog", "ab") log.write(b"Got arguments") for i, arg in enumerate(sys.argv[1:]): log.write(b" %d:%s" % (i + 1, arg.encode('latin1'))) log.write(b"\n") log.close() hgcmd = sys.argv[2] if os.name == 'nt': # hack to make simple unix single quote quoting work on windows hgcmd = hgcmd.replace("'", '"') cmds = shlex.split(hgcmd) if cmds[0].endswith('.py'): python_exe = os.environ['PYTHON'] cmds.insert(0, python_exe) hgcmd = shlex.join(cmds) # shlex generate windows incompatible string... hgcmd = hgcmd.replace("'", '"') r = subprocess.call(hgcmd, shell=True) sys.exit(bool(r))