Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 """Defines a set of constants shared by test runners and other scripts.""" | 5 """Defines a set of constants shared by test runners and other scripts.""" |
| 6 # pylint: disable=W0212 | 6 # pylint: disable=W0212 |
| 7 | 7 |
| 8 import collections | 8 import collections |
| 9 import logging | 9 import logging |
| 10 import os | 10 import os |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 231 def _Memoize(func): | 231 def _Memoize(func): |
| 232 def Wrapper(): | 232 def Wrapper(): |
| 233 try: | 233 try: |
| 234 return func._result | 234 return func._result |
| 235 except AttributeError: | 235 except AttributeError: |
| 236 func._result = func() | 236 func._result = func() |
| 237 return func._result | 237 return func._result |
| 238 return Wrapper | 238 return Wrapper |
| 239 | 239 |
| 240 | 240 |
| 241 def SetAdbPath(adb_path): | |
| 242 os.environ['ADB_PATH'] = adb_path | |
| 243 | |
| 244 | |
| 245 def GetAdbPath(): | |
|
jbudorick
2014/11/11 15:27:23
Why is this separate from _FindAdbPath?
mikecase (-- gone --)
2014/11/11 17:56:41
So I can keep the @_Memoize decorator on the logic
jbudorick
2014/11/11 18:04:03
Urgh, we need to rework these "constants."
SetAdb
| |
| 246 # Check if a custom adb path as been set. If not, try to find adb | |
| 247 # on the system. | |
| 248 if os.environ.get('ADB_PATH'): | |
| 249 return os.environ.get('ADB_PATH') | |
| 250 else: | |
| 251 return _FindAdbPath() | |
| 252 | |
| 253 | |
| 241 @_Memoize | 254 @_Memoize |
| 242 def GetAdbPath(): | 255 def _FindAdbPath(): |
| 243 if os.environ.get('ANDROID_SDK_ROOT'): | 256 if os.environ.get('ANDROID_SDK_ROOT'): |
| 244 return 'adb' | 257 return 'adb' |
| 245 # If envsetup.sh hasn't been sourced and there's no adb in the path, | 258 # If envsetup.sh hasn't been sourced and there's no adb in the path, |
| 246 # set it here. | 259 # set it here. |
| 247 try: | 260 try: |
| 248 with file(os.devnull, 'w') as devnull: | 261 with file(os.devnull, 'w') as devnull: |
| 249 subprocess.call(['adb', 'version'], stdout=devnull, stderr=devnull) | 262 subprocess.call(['adb', 'version'], stdout=devnull, stderr=devnull) |
| 250 return 'adb' | 263 return 'adb' |
| 251 except OSError: | 264 except OSError: |
| 252 logging.debug('No adb found in $PATH, fallback to checked in binary.') | 265 logging.debug('No adb found in $PATH, fallback to checked in binary.') |
| 253 return os.path.join(ANDROID_SDK_ROOT, 'platform-tools', 'adb') | 266 return os.path.join(ANDROID_SDK_ROOT, 'platform-tools', 'adb') |
| 254 | 267 |
| 255 | |
| 256 # Exit codes | 268 # Exit codes |
| 257 ERROR_EXIT_CODE = 1 | 269 ERROR_EXIT_CODE = 1 |
| 258 WARNING_EXIT_CODE = 88 | 270 WARNING_EXIT_CODE = 88 |
| OLD | NEW |