aboutsummaryrefslogtreecommitdiff
path: root/crosperf/experiment.py
diff options
context:
space:
mode:
authorAhmad Sharif <asharif@chromium.org>2012-12-20 12:09:49 -0800
committerAhmad Sharif <asharif@chromium.org>2012-12-20 12:09:49 -0800
commit4467f004e7f0854963bec90daff1879fbd9d2fec (patch)
treeaac36caa6279aa532e2d6234e50ee812f2db0c8d /crosperf/experiment.py
parentf395c26437cbdabc2960447fba89b226f4409e82 (diff)
downloadtoolchain-utils-4467f004e7f0854963bec90daff1879fbd9d2fec.tar.gz
Synced repos to: 64740
Diffstat (limited to 'crosperf/experiment.py')
-rw-r--r--crosperf/experiment.py33
1 files changed, 19 insertions, 14 deletions
diff --git a/crosperf/experiment.py b/crosperf/experiment.py
index 7b48344c..e9dc3d07 100644
--- a/crosperf/experiment.py
+++ b/crosperf/experiment.py
@@ -2,15 +2,20 @@
# Copyright 2011 Google Inc. All Rights Reserved.
+"""The experiment setting module."""
+
import os
import time
+
+from utils import logger
+
from autotest_runner import AutotestRunner
from benchmark_run import BenchmarkRun
from machine_manager import MachineManager
+from machine_manager import MockMachineManager
from results_cache import ResultsCache
from results_report import HTMLResultsReport
-from utils import logger
-from utils.file_utils import FileUtils
+import test_flag
class Experiment(object):
@@ -33,6 +38,7 @@ class Experiment(object):
self.labels = labels
self.benchmarks = benchmarks
self.num_complete = 0
+ self.num_run_complete = 0
# We need one chromeos_root to run the benchmarks in, but it doesn't
# matter where it is, unless the ABIs are different.
@@ -44,13 +50,17 @@ class Experiment(object):
raise Exception("No chromeos_root given and could not determine one from "
"the image path.")
- self.machine_manager = MachineManager(chromeos_root)
+ if test_flag.GetTestMode():
+ self.machine_manager = MockMachineManager(chromeos_root)
+ else:
+ self.machine_manager = MachineManager(chromeos_root)
self.l = logger.GetLogger()
for machine in remote:
self.machine_manager.AddMachine(machine)
- self.machine_manager.ComputeCommonCheckSum()
- self.machine_manager.ComputeCommonCheckSumString()
+ for label in labels:
+ self.machine_manager.ComputeCommonCheckSum(label)
+ self.machine_manager.ComputeCommonCheckSumString(label)
self.start_time = None
self.benchmark_runs = self._GenerateBenchmarkRuns()
@@ -69,17 +79,10 @@ class Experiment(object):
"run.%s" % (full_name),
True)
benchmark_run = BenchmarkRun(benchmark_run_name,
- benchmark.name,
- benchmark.autotest_name,
- benchmark.autotest_args,
- label.name,
- label.chromeos_root,
- label.chromeos_image,
- label.board,
+ benchmark,
+ label,
iteration,
self.cache_conditions,
- benchmark.outlier_range,
- benchmark.perf_args,
self.machine_manager,
logger_to_use)
@@ -102,6 +105,8 @@ class Experiment(object):
t.join(0)
if not t.isAlive():
self.num_complete += 1
+ if not t.cache_hit:
+ self.num_run_complete += 1
self.active_threads.remove(t)
return False
return True