# HG changeset patch # User Pierre-Yves David <pierre-yves.david@octobus.net> # Date 1569236482 -7200 # Mon Sep 23 13:01:22 2019 +0200 # Node ID 71bc4a30a526ce83a44422d1f2962c435167d807 # Parent 23692a6725739234b5259cf29b2508670fa496a2 benchmark: make discovery benchmark compatible with more version diff --git a/benchmarks/discovery.py b/benchmarks/discovery.py --- a/benchmarks/discovery.py +++ b/benchmarks/discovery.py @@ -23,9 +23,23 @@ data = data.get(self.repo_name) if data is None: raise NotImplementedError("no roles data for this partials' key") + + # first revision with the command available + firstperfdiscorev = 'db6cace18765ded16abe0a0369dec9a7771fcdfd' + revset = '%s::' % firstperfdiscorev + # revision with a backward compatible contrib/perf.py + goodperfdiscorev = '39cab871e8801489fcb6022527d47607ada92fb6' + # perfdiscovery fails prior to 2.7 + not_before_revset = '::3d19b81366410f8bb72dbde8969be124fe612def' + if self._matchrevset(not_before_revset, self.get_asv_rev()): + return float('nan') + kwargs = {} + if not self._matchrevset(revset, self.get_asv_rev()): + kwargs['perfextversion'] = goodperfdiscorev source = self.repo_path_from_id(data['source']) target = self.repo_path_from_id(data['target']) - return self.perfext('perfdiscovery', '--repository', source, target) + return self.perfext('perfdiscovery', '--repository', source, target, + **kwargs) @setup_role class DiscoveryIdenticalTimeSuite(BaseDiscoveryTimeSuite):