Mercurial > hg
view contrib/benchmarks/revset.py @ 30884:a68510b69f41
chg: verify XDG_RUNTIME_DIR
According to the specification [1], $XDG_RUNTIME_DIR should be ignored
unless:
The directory MUST be owned by the user, and he MUST be the only one
having read and write access to it. Its Unix access mode MUST be 0700.
This patch adds a check and ignores it if it does not meet part of the
criteria.
[1]: https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
author | Jun Wu <quark@fb.com> |
---|---|
date | Mon, 06 Feb 2017 17:01:06 -0800 |
parents | cff0f5926797 |
children | 2372284d9457 |
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()