Skip to content
Snippets Groups Projects
Commit 15dc705464b1 authored by Philippe Pepiot's avatar Philippe Pepiot
Browse files

Drop BaseTimeTestSuite and BaseTrackTestSuite

All methods on these base classes are now unused, so simply inherit from
BaseTestSuite.

_timeit() was unused for a while, when we switched from asv track benchmarks to
time benchmarks.
parent 28ac6287f3bb
No related branches found
No related tags found
No related merge requests found
......@@ -20,7 +20,7 @@
else:
import queue
from .utils import (BaseNChangesetsTestSuite, BaseTimeTestSuite,
BaseTrackTestSuite, median, REPOS_DIR)
from .utils import (BaseNChangesetsTestSuite, BaseTestSuite,
median, REPOS_DIR)
......@@ -25,6 +25,6 @@
class TestSuite(BaseTrackTestSuite):
class TestSuite(BaseTestSuite):
timeout = 120
......@@ -50,7 +50,7 @@
return median(timings)
class TimeTestSuite(BaseTimeTestSuite):
class TimeTestSuite(BaseTestSuite):
timer = timeit.default_timer
sample_time = 10
......@@ -91,7 +91,7 @@
self.hg('files', '-r', 'default')
class ArchiveTimeTestSuite(BaseTimeTestSuite):
class ArchiveTimeTestSuite(BaseTestSuite):
timer = timeit.default_timer
sample_time = 10
timeout = 300
......@@ -190,6 +190,6 @@
self.thread.join()
class BaseExchangeTimeSuite(BaseTimeTestSuite):
param_names = BaseTimeTestSuite.param_names + [
class BaseExchangeTimeSuite(BaseTestSuite):
param_names = BaseTestSuite.param_names + [
'repo_type', 'strip', 'revset']
......@@ -195,5 +195,5 @@
'repo_type', 'strip', 'revset']
params = BaseTimeTestSuite.params + [
params = BaseTestSuite.params + [
['local', 'ssh', 'http'],
['same', 'last(all(), 10)', 'last(all(), 100)', 'last(all(), 1000)'],
[None, 'default']]
......@@ -268,7 +268,7 @@
class DiscoveryTimeSuite(BaseExchangeTimeSuite):
# debugdiscovery does not support revset argument
params = BaseTimeTestSuite.params + [
params = BaseTestSuite.params + [
['local', 'ssh', 'http'],
['same', 'last(all(), 10)', 'last(all(), 100)', 'last(all(), 1000)'],
[None]]
......
......@@ -5,7 +5,6 @@
import re
import subprocess
import sys
import time
from functools import wraps
BASEDIR = os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))
......@@ -234,62 +233,7 @@
self.environ[key] = os.environ[key]
class BaseTrackTestSuite(BaseTestSuite):
def _timeit(self, func, args=(), kwargs=None):
kwargs = kwargs or {}
# Do a first measurement
times = []
times.append(func(*args, **kwargs))
n = int(30 / times[0])
for i in range(n):
times.append(func(*args, **kwargs))
return median(times)
def _execute(self, command, *args):
cmd = self._prepare_cmd(command, *args)
return self._timeit(self._single_execute, (cmd,))
def _prepare_cmd(self, command, *args):
cmd = [
self.hgpath,
"--cwd", self.repo_path,
command,
] + list(args)
return cmd
def _single_execute(self, cmd):
before = time.time()
self.check_output(*cmd, stderr=subprocess.STDOUT)
after = time.time()
return after - before
class BaseTimeTestSuite(BaseTestSuite):
def _execute(self, command, *args):
cmd = self._prepare_cmd(command, *args)
try:
return self._single_execute(cmd)
except subprocess.CalledProcessError as error:
print("ERROR OUTPUT", error.output)
raise
def _prepare_cmd(self, command, *args):
cmd = [
self.hgpath,
"--cwd", self.repo_path,
"--traceback",
command,
] + list(args)
return cmd
def _single_execute(self, cmd, **kwargs):
self.check_output(*cmd, **kwargs)
class BaseNChangesetsTestSuite(BaseTimeTestSuite):
class BaseNChangesetsTestSuite(BaseTestSuite):
params = [REPOS, [10, 100, 1000, 10000]]
param_names = ["repo", "changesets"]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment