tests/dummyssh
author Mathias De Maré <mathias.demare@gmail.com>
Mon, 02 Mar 2015 20:12:00 +0100
branchstable
changeset 1203 936aa82884ab
parent 943 5b8d9c2ab480
permissions -rwxr-xr-x
evolve: cache marker encoding to avoid performance degradation The main overhead in bug 4518 is caused by calculating relevant markers and encoding markers into the correct format. Calculating relevant markers takes (worst case) ~ 0.12 seconds. Encoding markers takes (worst case) ~ 0.06 seconds. Caching encoded markers takes care of the second part and speeds up cloning in bug 4518 by about 35%.

#!/usr/bin/env python

import sys
import os

os.chdir(os.getenv('TESTTMP'))

if sys.argv[1] != "user@dummy":
    sys.exit(-1)

os.environ["SSH_CLIENT"] = "127.0.0.1 1 2"

log = open("dummylog", "ab")
log.write("Got arguments")
for i, arg in enumerate(sys.argv[1:]):
    log.write(" %d:%s" % (i + 1, arg))
log.write("\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("'", '"')
r = os.system(hgcmd)
sys.exit(bool(r))