diff options
author | cmtice <cmtice@google.com> | 2014-10-16 15:49:56 -0700 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-10-22 21:50:02 +0000 |
commit | 1a224369afcbfd0276f4c7bdc625dec7f7b30d01 (patch) | |
tree | 4e8e4cfb7a87124eed85535392d9dd552e5b83e2 /crosperf | |
parent | bf70b0431858abf04d9b894c6d0f060e85589dc5 (diff) | |
download | toolchain-utils-1a224369afcbfd0276f4c7bdc625dec7f7b30d01.tar.gz |
Fix issue where crosperf can't find local cros_scratch.
Crosperf was assuming the user always has an NFS home directory,
and was looking for the cros_scratch directory there. This makes
crosperf use the user's home directory, whether it's NFS or local.
Also change --share_users, which also assumed NFS home directories,
to --share_cache, which requires specification of the cache path(s)
to use.
BUG=None
TEST=Tested this with my new local homedir.
Change-Id: I28d15467dfbd25b8b237cefa2979d3fd9464a7a7
Reviewed-on: https://chrome-internal-review.googlesource.com/179978
Reviewed-by: Yunlian Jiang <yunlian@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
Diffstat (limited to 'crosperf')
-rw-r--r-- | crosperf/benchmark_run.py | 8 | ||||
-rwxr-xr-x | crosperf/benchmark_run_unittest.py | 2 | ||||
-rw-r--r-- | crosperf/experiment.py | 6 | ||||
-rw-r--r-- | crosperf/experiment_factory.py | 4 | ||||
-rw-r--r-- | crosperf/results_cache.py | 17 | ||||
-rwxr-xr-x | crosperf/results_cache_unittest.py | 2 | ||||
-rw-r--r-- | crosperf/settings_factory.py | 7 | ||||
-rw-r--r-- | crosperf/settings_factory_unittest.py | 2 |
8 files changed, 25 insertions, 23 deletions
diff --git a/crosperf/benchmark_run.py b/crosperf/benchmark_run.py index f35b6928..0632dde6 100644 --- a/crosperf/benchmark_run.py +++ b/crosperf/benchmark_run.py @@ -37,7 +37,7 @@ class BenchmarkRun(threading.Thread): machine_manager, logger_to_use, log_level, - share_users): + share_cache): threading.Thread.__init__(self) self.name = name self._logger = logger_to_use @@ -62,7 +62,7 @@ class BenchmarkRun(threading.Thread): log_level=self.log_level) self.timeline = timeline.Timeline() self.timeline.Record(STATUS_PENDING) - self.share_users = share_users + self.share_cache = share_cache def ReadCache(self): # Just use the first machine for running the cached version, @@ -80,7 +80,7 @@ class BenchmarkRun(threading.Thread): self._logger, self.log_level, self.label, - self.share_users, + self.share_cache, self.benchmark.suite, self.benchmark.show_all_results ) @@ -245,7 +245,7 @@ class MockBenchmarkRun(BenchmarkRun): self._logger, self.log_level, self.label, - self.share_users, + self.share_cache, self.benchmark.suite, self.benchmark.show_all_results ) diff --git a/crosperf/benchmark_run_unittest.py b/crosperf/benchmark_run_unittest.py index d13806e8..8bb0a3b0 100755 --- a/crosperf/benchmark_run_unittest.py +++ b/crosperf/benchmark_run_unittest.py @@ -85,7 +85,7 @@ class BenchmarkRunTest(unittest.TestCase): # since the last time this test was updated: args_list = ['self', 'name', 'benchmark', 'label', 'iteration', 'cache_conditions', 'machine_manager', 'logger_to_use', - 'log_level', 'share_users'] + 'log_level', 'share_cache'] arg_spec = inspect.getargspec(benchmark_run.BenchmarkRun.__init__) self.assertEqual(len(arg_spec.args), len(args_list)) self.assertEqual (arg_spec.args, args_list) diff --git a/crosperf/experiment.py b/crosperf/experiment.py index c6371318..d56603ab 100644 --- a/crosperf/experiment.py +++ b/crosperf/experiment.py @@ -24,7 +24,7 @@ class Experiment(object): def __init__(self, name, remote, working_directory, chromeos_root, cache_conditions, labels, benchmarks, experiment_file, email_to, acquire_timeout, log_dir, - log_level, share_users, results_directory): + log_level, share_cache, results_directory): self.name = name self.working_directory = working_directory self.remote = remote @@ -43,7 +43,7 @@ class Experiment(object): self.benchmarks = benchmarks self.num_complete = 0 self.num_run_complete = 0 - self.share_users = share_users + self.share_cache = share_cache # We need one chromeos_root to run the benchmarks in, but it doesn't # matter where it is, unless the ABIs are different. @@ -93,7 +93,7 @@ class Experiment(object): self.machine_manager, logger_to_use, self.log_level, - self.share_users) + self.share_cache) benchmark_runs.append(benchmark_run) return benchmark_runs diff --git a/crosperf/experiment_factory.py b/crosperf/experiment_factory.py index 86bf19cd..1fd51885 100644 --- a/crosperf/experiment_factory.py +++ b/crosperf/experiment_factory.py @@ -106,7 +106,7 @@ class ExperimentFactory(object): cache_dir = global_settings.GetField("cache_dir") cache_only = global_settings.GetField("cache_only") config.AddConfig("no_email", global_settings.GetField("no_email")) - share_users = global_settings.GetField("share_users") + share_cache = global_settings.GetField("share_cache") results_dir = global_settings.GetField("results_dir") chrome_src = global_settings.GetField("chrome_src") show_all_results = global_settings.GetField("show_all_results") @@ -213,7 +213,7 @@ class ExperimentFactory(object): cache_conditions, labels, benchmarks, experiment_file.Canonicalize(), email, acquire_timeout, log_dir, log_level, - share_users, + share_cache, results_dir) return experiment diff --git a/crosperf/results_cache.py b/crosperf/results_cache.py index efdb405f..de6e572a 100644 --- a/crosperf/results_cache.py +++ b/crosperf/results_cache.py @@ -21,8 +21,7 @@ from utils import misc from image_checksummer import ImageChecksummer -SCRATCH_BASE = "/home/%s/cros_scratch" -SCRATCH_DIR = SCRATCH_BASE % getpass.getuser() +SCRATCH_DIR = os.path.expanduser("~/cros_scratch") RESULTS_FILE = "results.txt" MACHINE_FILE = "machine.txt" AUTOTEST_TARBALL = "autotest.tbz2" @@ -471,7 +470,7 @@ class ResultsCache(object): def Init(self, chromeos_image, chromeos_root, test_name, iteration, test_args, profiler_args, machine_manager, board, cache_conditions, - logger_to_use, log_level, label, share_users, suite, + logger_to_use, log_level, label, share_cache, suite, show_all_results): self.chromeos_image = chromeos_image self.chromeos_root = chromeos_root @@ -486,7 +485,7 @@ class ResultsCache(object): self._ce = command_executer.GetCommandExecuter(self._logger, log_level=log_level) self.label = label - self.share_users = share_users + self.share_cache = share_cache self.suite = suite self.log_level = log_level self.show_all = show_all_results @@ -514,10 +513,12 @@ class ResultsCache(object): else: cache_path = [os.path.join(SCRATCH_DIR, cache_dir)] - if len(self.share_users): - for i in [x.strip() for x in self.share_users.split(",")]: - path = SCRATCH_BASE % i - cache_path.append(os.path.join(path, cache_dir)) + if len(self.share_cache): + for path in [x.strip() for x in self.share_cache.split(",")]: + if os.path.exists(path): + cache_path.append(os.path.join(path, cache_dir)) + else: + self._logger.LogFatal("Unable to find shared cache: %s" % path) return cache_path diff --git a/crosperf/results_cache_unittest.py b/crosperf/results_cache_unittest.py index dff51b3a..01959689 100755 --- a/crosperf/results_cache_unittest.py +++ b/crosperf/results_cache_unittest.py @@ -792,7 +792,7 @@ class ResultsCacheTest(unittest.TestCase): self.mock_logger, 'average', self.mock_label, - '', # benchmark_run.share_users + '', # benchmark_run.share_cache 'telemetry_Crosperf', True) # benchmark_run.show_all_results diff --git a/crosperf/settings_factory.py b/crosperf/settings_factory.py index 78abbc82..d86dc2bc 100644 --- a/crosperf/settings_factory.py +++ b/crosperf/settings_factory.py @@ -127,9 +127,10 @@ class GlobalSettings(Settings): description="When running Telemetry tests, " "whether to all the results, instead of just " "the default (summary) results.")) - self.AddField(TextField("share_users", default="", - description="Who's cache data you want to " - "use. It accepts multiple users seperated by \",\"")) + self.AddField(TextField("share_cache", default="", + description="Path to alternat cache whose data " + "you want to use. It accepts multiples directories" + " se[arated bu a \",\"")) self.AddField(TextField("results_dir", default="", description="The results dir")) self.AddField(TextField("chrome_src", diff --git a/crosperf/settings_factory_unittest.py b/crosperf/settings_factory_unittest.py index f3376db5..6c0d9072 100644 --- a/crosperf/settings_factory_unittest.py +++ b/crosperf/settings_factory_unittest.py @@ -64,7 +64,7 @@ class GlobalSettingsTest(unittest.TestCase): self.assertEqual(res.GetField('cache_only'), False) self.assertEqual(res.GetField('no_email'), False) self.assertEqual(res.GetField('show_all_results'), False) - self.assertEqual(res.GetField('share_users'), '') + self.assertEqual(res.GetField('share_cache'), '') self.assertEqual(res.GetField('results_dir'), '') self.assertEqual(res.GetField('chrome_src'), '') |