OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright 2013 The Chromium Authors. All rights reserved. | 3 # Copyright 2013 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 """A class to keep track of devices across builds and report state.""" | 7 """A class to keep track of devices across builds and report state.""" |
8 | 8 |
9 import argparse | 9 import argparse |
10 import json | 10 import json |
11 import logging | 11 import logging |
12 import os | 12 import os |
13 import psutil | 13 import psutil |
14 import re | 14 import re |
15 import signal | 15 import signal |
16 import sys | 16 import sys |
17 | 17 |
18 sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) | 18 sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) |
19 import devil_chromium | |
20 from devil.android import battery_utils | 19 from devil.android import battery_utils |
21 from devil.android import device_blacklist | 20 from devil.android import device_blacklist |
22 from devil.android import device_errors | 21 from devil.android import device_errors |
23 from devil.android import device_list | 22 from devil.android import device_list |
24 from devil.android import device_utils | 23 from devil.android import device_utils |
25 from devil.android.sdk import adb_wrapper | 24 from devil.android.sdk import adb_wrapper |
26 from devil.utils import lsusb | 25 from devil.utils import lsusb |
27 from devil.utils import reset_usb | 26 from devil.utils import reset_usb |
28 from devil.utils import run_tests_helper | 27 from devil.utils import run_tests_helper |
29 from pylib import constants | 28 from pylib import constants |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 parser.add_argument('--json-output', | 299 parser.add_argument('--json-output', |
301 help='Output JSON information into a specified file.') | 300 help='Output JSON information into a specified file.') |
302 parser.add_argument('--blacklist-file', help='Device blacklist JSON file.') | 301 parser.add_argument('--blacklist-file', help='Device blacklist JSON file.') |
303 parser.add_argument('-v', '--verbose', action='count', default=1, | 302 parser.add_argument('-v', '--verbose', action='count', default=1, |
304 help='Log more information.') | 303 help='Log more information.') |
305 | 304 |
306 args = parser.parse_args() | 305 args = parser.parse_args() |
307 | 306 |
308 run_tests_helper.SetLogLevel(args.verbose) | 307 run_tests_helper.SetLogLevel(args.verbose) |
309 | 308 |
310 devil_chromium.Initialize() | |
311 | |
312 blacklist = (device_blacklist.Blacklist(args.blacklist_file) | 309 blacklist = (device_blacklist.Blacklist(args.blacklist_file) |
313 if args.blacklist_file | 310 if args.blacklist_file |
314 else None) | 311 else None) |
315 | 312 |
316 last_devices_path = os.path.join( | 313 last_devices_path = os.path.join( |
317 args.out_dir, device_list.LAST_DEVICES_FILENAME) | 314 args.out_dir, device_list.LAST_DEVICES_FILENAME) |
318 try: | 315 try: |
319 expected_devices = set( | 316 expected_devices = set( |
320 device_list.GetPersistentDeviceList(last_devices_path)) | 317 device_list.GetPersistentDeviceList(last_devices_path)) |
321 except IOError: | 318 except IOError: |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 live_devices = [status['serial'] for status in statuses | 381 live_devices = [status['serial'] for status in statuses |
385 if (status['adb_status'] == 'device' | 382 if (status['adb_status'] == 'device' |
386 and not _IsBlacklisted(status['serial'], blacklist))] | 383 and not _IsBlacklisted(status['serial'], blacklist))] |
387 | 384 |
388 # If all devices failed, or if there are no devices, it's an infra error. | 385 # If all devices failed, or if there are no devices, it's an infra error. |
389 return 0 if live_devices else constants.INFRA_EXIT_CODE | 386 return 0 if live_devices else constants.INFRA_EXIT_CODE |
390 | 387 |
391 | 388 |
392 if __name__ == '__main__': | 389 if __name__ == '__main__': |
393 sys.exit(main()) | 390 sys.exit(main()) |
OLD | NEW |