| OLD | NEW | 
|---|
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be | 
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. | 
| 4 | 4 | 
| 5 | 5 | 
|  | 6 import collections | 
| 6 import config | 7 import config | 
| 7 import copy | 8 import copy | 
| 8 import default_flavor | 9 import default_flavor | 
| 9 | 10 | 
| 10 | 11 | 
| 11 """Android flavor utils, used for building for and running tests on Android.""" | 12 """Android flavor utils, used for building for and running tests on Android.""" | 
| 12 | 13 | 
| 13 | 14 | 
|  | 15 DEFAULT_SDK_ROOT = '/home/chrome-bot/android-sdk-linux' | 
|  | 16 | 
|  | 17 SlaveInfo = collections.namedtuple('SlaveInfo', | 
|  | 18                                    'serial android_sdk_root has_root') | 
|  | 19 | 
|  | 20 SLAVE_INFO = { | 
|  | 21   'skiabot-shuttle-ubuntu12-galaxys3-001': | 
|  | 22       SlaveInfo('4df713b8244a21cf', DEFAULT_SDK_ROOT, False), | 
|  | 23   'skiabot-shuttle-ubuntu12-galaxys3-002': | 
|  | 24       SlaveInfo('32309a56e9b3a09f', DEFAULT_SDK_ROOT, False), | 
|  | 25   'skiabot-shuttle-ubuntu12-galaxys4-001': | 
|  | 26       SlaveInfo('4d0032a5d8cb6125', DEFAULT_SDK_ROOT, False), | 
|  | 27   'skiabot-shuttle-ubuntu12-galaxys4-002': | 
|  | 28       SlaveInfo('4d00353cd8ed61c3', DEFAULT_SDK_ROOT, False), | 
|  | 29   'skiabot-shuttle-ubuntu12-nexus5-001': | 
|  | 30       SlaveInfo('03f61449437cc47b', DEFAULT_SDK_ROOT, True), | 
|  | 31   'skiabot-shuttle-ubuntu12-nexus5-002': | 
|  | 32       SlaveInfo('018dff3520c970f6', DEFAULT_SDK_ROOT, True), | 
|  | 33   'skiabot-shuttle-ubuntu12-nexus7-001': | 
|  | 34       SlaveInfo('015d210a13480604', DEFAULT_SDK_ROOT, True), | 
|  | 35   'skiabot-shuttle-ubuntu12-nexus7-002': | 
|  | 36       SlaveInfo('015d18848c280217', DEFAULT_SDK_ROOT, True), | 
|  | 37   'skiabot-shuttle-ubuntu12-nexus7-003': | 
|  | 38       SlaveInfo('015d16897c401e17', DEFAULT_SDK_ROOT, True), | 
|  | 39   'skiabot-shuttle-ubuntu12-nexus9-001': | 
|  | 40       SlaveInfo('HT43RJT00022', DEFAULT_SDK_ROOT, True), | 
|  | 41   'skiabot-shuttle-ubuntu12-nexus9-002': | 
|  | 42       SlaveInfo('HT4AEJT03112', DEFAULT_SDK_ROOT, True), | 
|  | 43   'skiabot-shuttle-ubuntu12-nexus9-003': | 
|  | 44       SlaveInfo('HT4ADJT03339', DEFAULT_SDK_ROOT, True), | 
|  | 45   'skiabot-shuttle-ubuntu12-nexus10-001': | 
|  | 46       SlaveInfo('R32C801B5LH', DEFAULT_SDK_ROOT, True), | 
|  | 47   'skiabot-shuttle-ubuntu12-nexus10-003': | 
|  | 48       SlaveInfo('R32CB017X2L', DEFAULT_SDK_ROOT, True), | 
|  | 49   'skiabot-shuttle-ubuntu12-nexusplayer-001': | 
|  | 50       SlaveInfo('D76C708B', DEFAULT_SDK_ROOT, True), | 
|  | 51   'skiabot-shuttle-ubuntu12-nexusplayer-002': | 
|  | 52       SlaveInfo('8AB5139A', DEFAULT_SDK_ROOT, True), | 
|  | 53   'default': | 
|  | 54       SlaveInfo('noserial', DEFAULT_SDK_ROOT, False), | 
|  | 55 } | 
|  | 56 | 
|  | 57 | 
| 14 def device_from_builder_dict(builder_dict): | 58 def device_from_builder_dict(builder_dict): | 
| 15   """Given a builder name dictionary, return an Android device name.""" | 59   """Given a builder name dictionary, return an Android device name.""" | 
| 16   if 'Android' in builder_dict.get('extra_config', ''): | 60   if 'Android' in builder_dict.get('extra_config', ''): | 
| 17     if 'NoNeon' in builder_dict['extra_config']: | 61     if 'NoNeon' in builder_dict['extra_config']: | 
| 18       return 'arm_v7'  # pragma: no cover | 62       return 'arm_v7'  # pragma: no cover | 
| 19     return { | 63     return { | 
| 20       'Arm64': 'arm64', | 64       'Arm64': 'arm64', | 
| 21       'x86': 'x86', | 65       'x86': 'x86', | 
| 22       'x86_64': 'x86_64', | 66       'x86_64': 'x86_64', | 
| 23       'Mips': 'mips', | 67       'Mips': 'mips', | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 65 | 109 | 
| 66   def __call__(self, *args, **kwargs): | 110   def __call__(self, *args, **kwargs): | 
| 67     self.maybe_wait_for_device() | 111     self.maybe_wait_for_device() | 
| 68     return self._adb(*args, **kwargs) | 112     return self._adb(*args, **kwargs) | 
| 69 | 113 | 
| 70 | 114 | 
| 71 class AndroidFlavorUtils(default_flavor.DefaultFlavorUtils): | 115 class AndroidFlavorUtils(default_flavor.DefaultFlavorUtils): | 
| 72   def __init__(self, skia_api): | 116   def __init__(self, skia_api): | 
| 73     super(AndroidFlavorUtils, self).__init__(skia_api) | 117     super(AndroidFlavorUtils, self).__init__(skia_api) | 
| 74     self.device = device_from_builder_dict(self._skia_api.c.builder_cfg) | 118     self.device = device_from_builder_dict(self._skia_api.c.builder_cfg) | 
| 75     self.serial = self._skia_api.c.slave_cfg.get('serial') | 119     slave_info = SLAVE_INFO.get(self._skia_api.c.SLAVE_NAME, | 
|  | 120                                 SLAVE_INFO['default']) | 
|  | 121     self.serial = slave_info.serial | 
| 76     self.android_bin = self._skia_api.m.path['slave_build'].join( | 122     self.android_bin = self._skia_api.m.path['slave_build'].join( | 
| 77         'skia', 'platform_tools', 'android', 'bin') | 123         'skia', 'platform_tools', 'android', 'bin') | 
| 78     self._android_sdk_root = self._skia_api.c.slave_cfg['android_sdk_root'] | 124     self._android_sdk_root = slave_info.android_sdk_root | 
| 79     self._adb = _ADBWrapper( | 125     self._adb = _ADBWrapper( | 
| 80         self._skia_api.m.adb, | 126         self._skia_api.m.adb, | 
| 81         self._skia_api.m.path.join(self._android_sdk_root, | 127         self._skia_api.m.path.join(self._android_sdk_root, | 
| 82                                    'platform-tools', 'adb'), | 128                                    'platform-tools', 'adb'), | 
| 83         self.serial) | 129         self.serial) | 
| 84     self._has_root = self._skia_api.c.slave_cfg.get('has_root', True) | 130     self._has_root = slave_info.has_root | 
| 85     self._default_env = {'ANDROID_SDK_ROOT': self._android_sdk_root, | 131     self._default_env = {'ANDROID_SDK_ROOT': self._android_sdk_root, | 
| 86                          'SKIA_ANDROID_VERBOSE_SETUP': 1} | 132                          'SKIA_ANDROID_VERBOSE_SETUP': 1} | 
| 87 | 133 | 
| 88   def step(self, name, cmd, **kwargs): | 134   def step(self, name, cmd, **kwargs): | 
| 89     self._adb.maybe_wait_for_device() | 135     self._adb.maybe_wait_for_device() | 
| 90     args = [self.android_bin.join('android_run_skia'), | 136     args = [self.android_bin.join('android_run_skia'), | 
| 91             '--logcat', | 137             '--logcat', | 
| 92             '-d', self.device, | 138             '-d', self.device, | 
| 93             '-s', self.serial, | 139             '-s', self.serial, | 
| 94     ] | 140     ] | 
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 227     return default_flavor.DeviceDirs( | 273     return default_flavor.DeviceDirs( | 
| 228         dm_dir=prefix + 'dm', | 274         dm_dir=prefix + 'dm', | 
| 229         perf_data_dir=prefix + 'perf', | 275         perf_data_dir=prefix + 'perf', | 
| 230         resource_dir=prefix + 'resources', | 276         resource_dir=prefix + 'resources', | 
| 231         images_dir=prefix + 'images', | 277         images_dir=prefix + 'images', | 
| 232         skp_dirs=default_flavor.SKPDirs( | 278         skp_dirs=default_flavor.SKPDirs( | 
| 233             prefix + 'skp', self._skia_api.c.BUILDER_NAME, '/'), | 279             prefix + 'skp', self._skia_api.c.BUILDER_NAME, '/'), | 
| 234         skp_perf_dir=prefix + 'skp_perf', | 280         skp_perf_dir=prefix + 'skp_perf', | 
| 235         tmp_dir=prefix + 'tmp_dir') | 281         tmp_dir=prefix + 'tmp_dir') | 
| 236 | 282 | 
| OLD | NEW | 
|---|