Index: tools/run_perf.py |
diff --git a/tools/run_perf.py b/tools/run_perf.py |
index 63c9148515c9380604bc2ee973fe3f0ddb27078e..2b2c455bab9c0c3da7a18ed6a34dcd73b6dfa1ba 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: |