aboutsummaryrefslogtreecommitdiff
path: root/crosperf/benchmark_run.py
diff options
context:
space:
mode:
authorYunlian Jiang <yunlian@google.com>2013-09-30 15:45:46 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2013-10-01 21:53:03 +0000
commit9e5333321a43b6f663d1b12dbad1d5bb3a52dfec (patch)
tree211bab0c447257f0bfcbf77c89287bd4f3843c5e /crosperf/benchmark_run.py
parent0126ef363015c2dd3a257fff79df0bde615f37f1 (diff)
downloadtoolchain-utils-9e5333321a43b6f663d1b12dbad1d5bb3a52dfec.tar.gz
crosperf: fix unittest for crosperf.
This fixes several issues for unittesting. Now unittest seems to be working. BUG=None TEST=crosperf/run_tests.sh passes. Change-Id: I1dcef7ba55d45fbd00e453f749a8b10dea0332e6 Reviewed-on: https://chrome-internal-review.googlesource.com/145635 Reviewed-by: Caroline Tice <cmtice@google.com> Commit-Queue: Yunlian Jiang <yunlian@google.com> Tested-by: Yunlian Jiang <yunlian@google.com>
Diffstat (limited to 'crosperf/benchmark_run.py')
-rw-r--r--crosperf/benchmark_run.py30
1 files changed, 27 insertions, 3 deletions
diff --git a/crosperf/benchmark_run.py b/crosperf/benchmark_run.py
index 43eff278..50c99daf 100644
--- a/crosperf/benchmark_run.py
+++ b/crosperf/benchmark_run.py
@@ -14,6 +14,8 @@ from utils import command_executer
from utils import timeline
from suite_runner import SuiteRunner
+from results_cache import MockResult
+from results_cache import MockResultsCache
from results_cache import Result
from results_cache import ResultsCache
from results_cache import TelemetryResult
@@ -117,7 +119,7 @@ class BenchmarkRun(threading.Thread):
finally:
if self.machine:
if not self.machine.IsReachable():
- self._logger.LogOutput("Machine % is not reachable, removing it."
+ self._logger.LogOutput("Machine %s is not reachable, removing it."
% self.machine.name)
self.machine_manager.RemoveMachine(self.machine.name)
self._logger.LogOutput("Releasing machine: %s" % self.machine.name)
@@ -191,7 +193,29 @@ class BenchmarkRun(threading.Thread):
class MockBenchmarkRun(BenchmarkRun):
- """Inherited from BenchmarkRun, just overide RunTest for testing."""
+ """Inherited from BenchmarkRuna."""
+
+ def ReadCache(self):
+ # Just use the first machine for running the cached version,
+ # without locking it.
+ self.cache = MockResultsCache()
+ self.cache.Init(self.label.chromeos_image,
+ self.label.chromeos_root,
+ self.benchmark.test_name,
+ self.iteration,
+ self.test_args,
+ self.machine_manager,
+ self.label.board,
+ self.cache_conditions,
+ self._logger,
+ self.label,
+ self.share_users,
+ self.benchmark.suite
+ )
+
+ self.result = self.cache.ReadResult()
+ self.cache_hit = (self.result is not None)
+
def RunTest(self, machine):
"""Remove Result.CreateFromRun for testing."""
@@ -205,7 +229,7 @@ class MockBenchmarkRun(BenchmarkRun):
self.benchmark.test_name,
self.test_args)
self.run_completed = True
- rr = Result("Results placed in /tmp/test", "", 0)
+ rr = MockResult("logger", self.label)
rr.out = out
rr.err = err
rr.retval = retval