| 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 |