##// END OF EJS Templates
test: simplify test-amend.t to avoid race condition...
test: simplify test-amend.t to avoid race condition Insted on relying on sleep, we could simply have the editor do the file change. This remove the reliance on "sleep" and avoid test failing on heavy load machine. To test this, I reverted the code change in 5558e3437872 and the test started failing again. Differential Revision: https://phab.mercurial-scm.org/D8065

File last commit:

r43346:2372284d default
r44731:141ceec0 default
Show More
revset.py
57 lines | 1.6 KiB | text/x-python | PythonLexer
# 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()