# HG changeset patch
# User Philippe Pepiot <philippe.pepiot@logilab.fr>
# Date 1526565949 -7200
#      Thu May 17 16:05:49 2018 +0200
# Node ID 34378aac908eacdfede4ffdc77c2dc9b5803acef
# Parent  2f723801be48ce9a4e4decd5a760e60a8b92c1bf
Make others.py benchmarks inherits from BaseTestSuite

By using perfext().
Inheriting from BaseTestSuite allow to add global variants (HGRCPATH /
--config) within the entire test suite.

This cause benchmarks to be renamed and prefixed by 'PerfTestSuite'.
To remove old benchmarks results: asv rm 'benchmark=others.*'

diff --git a/benchmarks/others.py b/benchmarks/others.py
--- a/benchmarks/others.py
+++ b/benchmarks/others.py
@@ -1,85 +1,55 @@
-from .utils import perfbench
-
-
-@perfbench()
-def track_tags(perf):
-    return perf("perftags")
-
-
-@perfbench()
-def track_status(perf):
-    return perf("perfstatus")
-
-
-@perfbench()
-def track_manifest(perf):
-    return perf("perfmanifest", "tip")
-
-
-@perfbench()
-def track_heads(perf):
-    return perf("perfheads")
-
-
-@perfbench()
-def track_branchmap(perf):
-    return perf("perfbranchmap")
-
-
-@perfbench()
-def track_startup(perf):
-    return perf("perfstartup")
-
-
-@perfbench()
-def track_ancestors(perf):
-    return perf("perfancestors")
+from .utils import BaseTestSuite
 
 
-@perfbench()
-def track_changegroupchangelog(perf):
-    return perf("perfchangegroupchangelog")
+class PerfTestSuite(BaseTestSuite):
+
+    def track_tags(self, *args, **kwargs):
+        return self.perfext('perftags')
 
-@perfbench()
-def track_dirstate(perf):
-    return perf("perfdirstate")
+    def track_status(self, *args, **kwargs):
+        return self.perfext("perfstatus")
 
+    def track_manifest(self, *args, **kwargs):
+        return self.perfext("perfmanifest", "tip")
 
-@perfbench()
-def track_perfdirstatewrite(perf):
-    return perf("perfdirstatewrite")
+    def track_heads(self, *args, **kwargs):
+        return self.perfext("perfheads")
 
+    def track_branchmap(self, *args, **kwargs):
+        return self.perfext("perfbranchmap")
 
-@perfbench()
-def track_perffncacheencode(perf):
-    return perf("perffncacheencode")
-
+    def track_startup(self, *args, **kwargs):
+        return self.perfext("perfstartup")
 
-@perfbench()
-def track_perffncachewrite(perf):
-    return perf("perffncachewrite")
+    def track_ancestors(self, *args, **kwargs):
+        return self.perfext("perfancestors")
 
+    def track_changegroupchangelog(self, *args, **kwargs):
+        return self.perfext("perfchangegroupchangelog")
 
-@perfbench()
-def track_perffncacheload(perf):
-    return perf("perffncacheload")
+    def track_dirstate(self, *args, **kwargs):
+        return self.perfext("perfdirstate")
 
+    def track_perfdirstatewrite(self, *args, **kwargs):
+        return self.perfext("perfdirstatewrite")
 
-@ perfbench()
-def track_perfindex(perf):
-    return perf("perfindex")
+    def track_perffncacheencode(self, *args, **kwargs):
+        return self.perfext("perffncacheencode")
 
+    def track_perffncachewrite(self, *args, **kwargs):
+        return self.perfext("perffncachewrite")
 
-@perfbench()
-def track_perfparents(perf):
-    return perf("perfparents")
+    def track_perffncacheload(self, *args, **kwargs):
+        return self.perfext("perffncacheload")
 
+    def track_perfindex(self, *args, **kwargs):
+        return self.perfext("perfindex")
 
-@perfbench()
-def track_perfphases(perf):
-    return perf("perfphases")
+    def track_perfparents(self, *args, **kwargs):
+        return self.perfext("perfparents")
 
+    def track_perfphases(self, *args, **kwargs):
+        return self.perfext("perfphases")
 
-@perfbench()
-def track_perfwalk(perf):
-    return perf("perfwalk")
+    def track_perfwalk(self, *args, **kwargs):
+        return self.perfext("perfwalk")