From 056a7a7786a32196e2c7ff36e31c331a9e5593ab Mon Sep 17 00:00:00 2001
From: prasadv <prasadv@chromium.org>
Date: Tue, 26 May 2015 10:01:44 -0700
Subject: Make sure that arm64 binaries are used when target_arch is set to
 arm64.

BUG=488688

Review URL: https://codereview.chromium.org/1143923002

Cr-Commit-Position: refs/heads/master@{#331382}
---
 tools/auto_bisect/fetch_build.py      | 10 ++++++++--
 tools/auto_bisect/fetch_build_test.py |  8 ++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

(limited to 'tools/auto_bisect')

diff --git a/tools/auto_bisect/fetch_build.py b/tools/auto_bisect/fetch_build.py
index b4036ac..b066646 100644
--- a/tools/auto_bisect/fetch_build.py
+++ b/tools/auto_bisect/fetch_build.py
@@ -123,7 +123,10 @@ class BuildArchive(object):
                extra_src=None):
     self._extra_src = extra_src
     if bisect_utils.IsLinuxHost() and target_platform == 'android':
-      self._platform = 'android'
+      if target_arch == 'arm64':
+        self._platform = 'android_arm64'
+      else:
+        self._platform = 'android'
     elif bisect_utils.IsLinuxHost() and target_platform == 'android-chrome':
       self._platform = 'android-chrome'
     elif bisect_utils.IsLinuxHost():
@@ -178,7 +181,7 @@ class BuildArchive(object):
     if self._platform in ('win', 'win64'):
       # Build archive for win64 is still stored with "win32" in the name.
       return 'win32'
-    if self._platform in ('linux', 'android'):
+    if self._platform in ('linux', 'android', 'android_arm64'):
       # Android builds are also stored with "linux" in the name.
       return 'linux'
     if self._platform == 'mac':
@@ -215,6 +218,7 @@ class PerfBuildArchive(BuildArchive):
     """Returns the directory name to download builds from."""
     platform_to_directory = {
         'android': 'android_perf_rel',
+        'android_arm64': 'android_perf_rel_arm64',
         'linux': 'Linux Builder',
         'mac': 'Mac Builder',
         'win64': 'Win x64 Builder',
@@ -233,6 +237,8 @@ class PerfBuildArchive(BuildArchive):
       return 'linux_perf_bisect_builder'
     elif self._platform == 'android':
       return 'android_perf_bisect_builder'
+    elif self._platform == 'android_arm64':
+      return 'android_arm64_perf_bisect_builder'
     elif self._platform == 'mac':
       return 'mac_perf_bisect_builder'
     raise NotImplementedError('Unsupported platform "%s".' % sys.platform)
diff --git a/tools/auto_bisect/fetch_build_test.py b/tools/auto_bisect/fetch_build_test.py
index 4c821cb..88bb9e2 100644
--- a/tools/auto_bisect/fetch_build_test.py
+++ b/tools/auto_bisect/fetch_build_test.py
@@ -101,6 +101,14 @@ class BuildArchiveTest(unittest.TestCase):
         'android_perf_rel/full-build-linux_123456.zip',
         archive.FilePath('123456'))
 
+  def test_PerfBuildArchive_AndroidArm64(self):
+    archive = fetch_build.PerfBuildArchive()
+    archive._platform = 'android_arm64'
+    self.assertEqual('chrome-perf', archive.BucketName())
+    self.assertEqual(
+        'android_perf_rel_arm64/full-build-linux_123456.zip',
+        archive.FilePath('123456'))
+
   def test_PerfBuildArchive_64BitWindows(self):
     archive = fetch_build.PerfBuildArchive(target_arch='x64')
     archive._platform = 'win64'
-- 
cgit v1.1