Skip to content
Snippets Groups Projects
Commit dcd8b99f4b71 authored by Boris Feld's avatar Boris Feld
Browse files

Add a test for bundling with variout size

parent d611bec7719d
No related branches found
No related tags found
No related merge requests found
......@@ -259,3 +259,46 @@
def time_up_tip(self, repo, n):
self._execute("up", "-r", "tip~%d" % n)
self._execute("up", "-r", "tip")
class BundleTimeTestSuite(object):
params = [REPOS, [10, 100, 1000, 10000]]
param_names = ["repo", "changesets"]
timeout = 500
def __init__(self):
super(BundleTimeTestSuite, self).__init__()
self.timer = timeit.default_timer
self.goal_time = 10
def setup(self, repo_name, n):
venv = os.path.abspath(os.path.join(os.path.dirname(sys.executable), ".."))
self.repo_name = repo_name
self.hgpath = os.path.join(venv, "bin", "hg")
self.repo_path = os.path.join(REPOS_DIR, self.repo_name)
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):
return subprocess.check_output(cmd, stderr=subprocess.STDOUT)
def time_bundle(self, repo, n):
self._execute("bundle", "--base", ":(-%d)" % (n+1), "/tmp/bundle.bundle")
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