diff --git a/benchmarks/basic_commands.py b/benchmarks/basic_commands.py index 540974ee64e621c7a94de319bdcdc140367b9ce6_YmVuY2htYXJrcy9iYXNpY19jb21tYW5kcy5weQ==..498707453627307a2094511c323ee270a4411f62_YmVuY2htYXJrcy9iYXNpY19jb21tYW5kcy5weQ== 100644 --- a/benchmarks/basic_commands.py +++ b/benchmarks/basic_commands.py @@ -126,6 +126,16 @@ timer = timeit.default_timer sample_time = 10 + def run(self, local_repo, command, remote_repo, expected_return_code=None): + if not isinstance(command, (list, tuple)): + command = [command] + cmd = [self.hgpath, '--cwd', local_repo] + command + [remote_repo] + if self.rev: + cmd.extend(['-r', self.rev]) + if expected_return_code is None: + expected_return_code = 1 if self.strip == "same" else 0 + self._single_execute(cmd, expected_return_code=expected_return_code) + def setup(self, repo_name, strip, revset): super(BaseExchangeTimeSuite, self).setup(repo_name) self.clone_path = os.path.join(REPOS_DIR, '.cache', 'partial-{}-{}'.format( @@ -136,8 +146,9 @@ ], env=self.environ).strip() else: self.rev = None + self.strip = strip class ExchangeTimeSuite(BaseExchangeTimeSuite): def time_incoming(self, repo_name, strip, revset): @@ -139,11 +150,8 @@ class ExchangeTimeSuite(BaseExchangeTimeSuite): def time_incoming(self, repo_name, strip, revset): - cmd = [self.hgpath, '--cwd', self.clone_path, 'incoming', self.repo_path] - if self.rev: - cmd.extend(['-r', self.rev]) - self._single_execute(cmd, expected_return_code=1 if strip == "same" else 0) + self.run(self.clone_path, 'incoming', self.repo_path) def time_outgoing(self, repo_name, strip, revset): @@ -148,9 +156,6 @@ def time_outgoing(self, repo_name, strip, revset): - cmd = [self.hgpath, '--cwd', self.repo_path, 'outgoing', self.clone_path] - if self.rev: - cmd.extend(['-r', self.rev]) - self._single_execute(cmd, expected_return_code=1 if strip == "same" else 0) + self.run(self.repo_path, 'outgoing', self.clone_path) class DiscoveryTimeSuite(BaseExchangeTimeSuite): @@ -161,8 +166,8 @@ [None]] def time_debugdiscovery(self, repo_name, strip, revset): - cmd = [self.hgpath, '--cwd', self.clone_path, 'debugdiscovery', self.repo_path] - self._single_execute(cmd) + self.run(self.clone_path, 'debugdiscovery', self.repo_path, + expected_return_code=0) class PushPullTimeSuite(BaseExchangeTimeSuite): @@ -192,10 +197,6 @@ self._single_execute(['sync']) def time_push(self, repo_name, strip, revset): - cmd = [self.hgpath, '--cwd', self.repo_path, 'push', '-f', - self.tmp_clone_path] - if self.rev: - cmd.extend(['-r', self.rev]) - self._single_execute(cmd, expected_return_code=1 if strip == "same" else 0) + self.run(self.repo_path, ['push', '-f'], self.tmp_clone_path) def time_pull(self, repo_name, strip, revset): @@ -200,10 +201,7 @@ def time_pull(self, repo_name, strip, revset): - cmd = [self.hgpath, '--cwd', self.tmp_clone_path, 'pull', - self.repo_path] - if self.rev: - cmd.extend(['-r', self.rev]) - self._single_execute(cmd) + self.run(self.tmp_clone_path, 'pull', self.repo_path, + expected_return_code=0) class CloneTimeSuite(BaseExchangeTimeSuite):