Mercurial > hg
view tests/dummyssh @ 51589:90ef3e042e10
perf: allow profiling of more than one run
By default, we still profile the first run only. However profiling more run help
to understand side effect from one run to the other. So we add an option to be
able to do so.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 14 Apr 2024 02:38:41 +0200 |
parents | 6000f5b25c9b |
children |
line wrap: on
line source
#!/usr/bin/env python3 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, close_fds=True) sys.exit(bool(r))