From c61fceca682d4068e43534c45440e7ebfffbc4ee Mon Sep 17 00:00:00 2001 From: machenbach Date: Tue, 24 Feb 2015 06:07:15 -0800 Subject: [PATCH] Prepare v8 android perf runner for external startup data. NOTRY=true Review URL: https://codereview.chromium.org/953893002 Cr-Commit-Position: refs/heads/master@{#26825} --- tools/run_perf.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tools/run_perf.py b/tools/run_perf.py index 63c9148515..2b2c455bab 100755 --- a/tools/run_perf.py +++ b/tools/run_perf.py @@ -533,7 +533,8 @@ class AndroidPlatform(Platform): # pragma: no cover logging.info("adb -s %s %s" % (str(self.device), cmd)) return self.adb.SendCommand(cmd, timeout_time=60) - def _PushFile(self, host_dir, file_name, target_rel="."): + def _PushFile(self, host_dir, file_name, target_rel=".", + skip_if_missing=False): file_on_host = os.path.join(host_dir, file_name) file_on_device_tmp = os.path.join( AndroidPlatform.DEVICE_DIR, "_tmp_", file_name) @@ -541,6 +542,12 @@ class AndroidPlatform(Platform): # pragma: no cover AndroidPlatform.DEVICE_DIR, target_rel, file_name) folder_on_device = os.path.dirname(file_on_device) + # Only attempt to push files that exist. + if not os.path.exists(file_on_host): + if not skip_if_missing: + logging.critical('Missing file on host: %s' % file_on_host) + return + # Only push files not yet pushed in one execution. if file_on_host in self.pushed: return @@ -568,6 +575,12 @@ class AndroidPlatform(Platform): # pragma: no cover bench_abs = suite_dir self._PushFile(self.shell_dir, node.binary) + + # Push external startup data. Backwards compatible for revisions where + # these files didn't exist. + self._PushFile(self.shell_dir, "natives_blob.bin", skip_if_missing=True) + self._PushFile(self.shell_dir, "snapshot_blob.bin", skip_if_missing=True) + if isinstance(node, Runnable): self._PushFile(bench_abs, node.main, bench_rel) for resource in node.resources: