tests/dummyssh
author Simon Sapin <simon.sapin@octobus.net>
Fri, 08 Oct 2021 12:57:24 +0200
changeset 48189 6e01bcd111d2
parent 47774 fb8389f227a0
child 48875 6000f5b25c9b
permissions -rwxr-xr-x
dirstate-v2: Swap the order of size and mtime on disk This makes the dirstate-v2 file format match dirstate-v1 for the order of `mode`, `size`, and `mtime`. This order does not matter as long as these components are handled through named fields/attributes in code, but in a few places we still have tuples so having the same order everywhere might help avoid a bug that might not be obvious since those components have the same type. Differential Revision: https://phab.mercurial-scm.org/D11620

#!/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, close_fds=True)
sys.exit(bool(r))