Mercurial > hg-stable
view contrib/benchmarks/revset.py @ 43411:a77338d2bdab stable
automation: avoid '~' in the temp directory on Windows
If a long-ish username is used, the environment variable ends up with a '~' to
be 8.3 path compatible. That in turn causes a handful of tests (mostly ssh
related) to add quotes around $TESTMP.
I have no AWS experience, so I have no idea if this is the proper way to do it.
But I've hit this problem locally, and redirecting the directory is a
workaround. I don't recall if the directory is created on demand by the test
harness, but presumably if this is configured before the machine boots, Windows
will do it for us.
Differential Revision: https://phab.mercurial-scm.org/D7130
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 17 Oct 2019 16:46:13 -0400 |
parents | 2372284d9457 |
children | 6000f5b25c9b |
line wrap: on
line source
# revset.py - asv revset benchmarks # # Copyright 2016 Logilab SA <contact@logilab.fr> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. '''ASV revset benchmarks generated from contrib/base-revsets.txt Each revset benchmark is parameterized with variants (first, last, sort, ...) ''' from __future__ import absolute_import import os import string import sys from . import basedir, perfbench def createrevsetbenchmark(baseset, variants=None): if variants is None: # Default variants variants = ["plain", "first", "last", "sort", "sort+first", "sort+last"] fname = "track_" + "_".join( "".join( [c if c in string.digits + string.letters else " " for c in baseset] ).split() ) def wrap(fname, baseset): @perfbench(name=baseset, params=[("variant", variants)]) def f(perf, variant): revset = baseset if variant != "plain": for var in variant.split("+"): revset = "%s(%s)" % (var, revset) return perf("perfrevset", revset) f.__name__ = fname return f return wrap(fname, baseset) def initializerevsetbenchmarks(): mod = sys.modules[__name__] with open(os.path.join(basedir, 'contrib', 'base-revsets.txt'), 'rb') as fh: for line in fh: baseset = line.strip() if baseset and not baseset.startswith('#'): func = createrevsetbenchmark(baseset) setattr(mod, func.__name__, func) initializerevsetbenchmarks()