Mercurial > hg
view contrib/benchmarks/perf.py @ 37775:03d7f885d5f2
revsetlang: do not pass in non-bytes to parse()
Since parse() isn't a simple function, we shouldn't expect it would raise
TypeError or ValueError for invalid inputs. Before, TypeError was raised
at 'if pos != len(spec)', which was quite late to report an error.
This patch also makes tokenize() detect invalid object before converting
it to a py3-safe bytes.
Spotted while adding the 'revset(...)' hack to _parsewith().
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Tue, 17 Apr 2018 21:59:58 +0900 |
parents | cff0f5926797 |
children | 2372284d9457 |
line wrap: on
line source
# perf.py - asv benchmarks using contrib/perf.py extension # # 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. from __future__ import absolute_import from . import perfbench @perfbench() def track_tags(perf): return perf("perftags") @perfbench() def track_status(perf): return perf("perfstatus", unknown=False) @perfbench(params=[('rev', ['1000', '10000', 'tip'])]) def track_manifest(perf, rev): return perf("perfmanifest", rev) @perfbench() def track_heads(perf): return perf("perfheads")