| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # | 2 # |
| 3 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 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 """Provisions Android devices with settings required for bots. | 7 """Provisions Android devices with settings required for bots. |
| 8 | 8 |
| 9 Usage: | 9 Usage: |
| 10 ./provision_devices.py [-d <device serial number>] | 10 ./provision_devices.py [-d <device serial number>] |
| 11 """ | 11 """ |
| 12 | 12 |
| 13 import argparse | 13 import argparse |
| 14 import datetime | 14 import datetime |
| 15 import json | 15 import json |
| 16 import logging | 16 import logging |
| 17 import os | 17 import os |
| 18 import posixpath | 18 import posixpath |
| 19 import re | 19 import re |
| 20 import subprocess | 20 import subprocess |
| 21 import sys | 21 import sys |
| 22 import time | 22 import time |
| 23 | 23 |
| 24 import devil_chromium | 24 import devil_chromium |
| 25 from devil import devil_env |
| 25 from devil.android import battery_utils | 26 from devil.android import battery_utils |
| 26 from devil.android import device_blacklist | 27 from devil.android import device_blacklist |
| 27 from devil.android import device_errors | 28 from devil.android import device_errors |
| 28 from devil.android import device_temp_file | 29 from devil.android import device_temp_file |
| 29 from devil.android import device_utils | 30 from devil.android import device_utils |
| 30 from devil.android.sdk import keyevent | 31 from devil.android.sdk import keyevent |
| 31 from devil.android.sdk import version_codes | 32 from devil.android.sdk import version_codes |
| 32 from devil.utils import run_tests_helper | 33 from devil.utils import run_tests_helper |
| 33 from devil.utils import timeout_retry | 34 from devil.utils import timeout_retry |
| 34 from pylib import constants | 35 from pylib import constants |
| (...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 463 # --min-battery-level 95 | 464 # --min-battery-level 95 |
| 464 # Some perf bots run benchmarks with USB charging disabled which leads | 465 # Some perf bots run benchmarks with USB charging disabled which leads |
| 465 # to gradual draining of the battery. We must wait for a full charge | 466 # to gradual draining of the battery. We must wait for a full charge |
| 466 # before starting a run in order to keep the devices online. | 467 # before starting a run in order to keep the devices online. |
| 467 | 468 |
| 468 parser = argparse.ArgumentParser( | 469 parser = argparse.ArgumentParser( |
| 469 description='Provision Android devices with settings required for bots.') | 470 description='Provision Android devices with settings required for bots.') |
| 470 parser.add_argument('-d', '--device', metavar='SERIAL', | 471 parser.add_argument('-d', '--device', metavar='SERIAL', |
| 471 help='the serial number of the device to be provisioned' | 472 help='the serial number of the device to be provisioned' |
| 472 ' (the default is to provision all devices attached)') | 473 ' (the default is to provision all devices attached)') |
| 474 parser.add_argument('--adb-path', |
| 475 help='Absolute path to the adb binary to use.') |
| 473 parser.add_argument('--blacklist-file', help='Device blacklist JSON file.') | 476 parser.add_argument('--blacklist-file', help='Device blacklist JSON file.') |
| 474 parser.add_argument('--phase', action='append', choices=_PHASES.ALL, | 477 parser.add_argument('--phase', action='append', choices=_PHASES.ALL, |
| 475 dest='phases', | 478 dest='phases', |
| 476 help='Phases of provisioning to run. ' | 479 help='Phases of provisioning to run. ' |
| 477 '(If omitted, all phases will be run.)') | 480 '(If omitted, all phases will be run.)') |
| 478 parser.add_argument('--skip-wipe', action='store_true', default=False, | 481 parser.add_argument('--skip-wipe', action='store_true', default=False, |
| 479 help="don't wipe device data during provisioning") | 482 help="don't wipe device data during provisioning") |
| 480 parser.add_argument('--reboot-timeout', metavar='SECS', type=int, | 483 parser.add_argument('--reboot-timeout', metavar='SECS', type=int, |
| 481 help='when wiping the device, max number of seconds to' | 484 help='when wiping the device, max number of seconds to' |
| 482 ' wait after each reboot ' | 485 ' wait after each reboot ' |
| (...skipping 29 matching lines...) Expand all Loading... |
| 512 help='Json file to output the device blacklist.') | 515 help='Json file to output the device blacklist.') |
| 513 parser.add_argument('--chrome-specific-wipe', action='store_true', | 516 parser.add_argument('--chrome-specific-wipe', action='store_true', |
| 514 help='only wipe chrome specific data during provisioning') | 517 help='only wipe chrome specific data during provisioning') |
| 515 parser.add_argument('--emulators', action='store_true', | 518 parser.add_argument('--emulators', action='store_true', |
| 516 help='provision only emulators and ignore usb devices') | 519 help='provision only emulators and ignore usb devices') |
| 517 args = parser.parse_args() | 520 args = parser.parse_args() |
| 518 constants.SetBuildType(args.target) | 521 constants.SetBuildType(args.target) |
| 519 | 522 |
| 520 run_tests_helper.SetLogLevel(args.verbose) | 523 run_tests_helper.SetLogLevel(args.verbose) |
| 521 | 524 |
| 522 devil_chromium.Initialize() | 525 devil_custom_deps = None |
| 526 if args.adb_path: |
| 527 devil_custom_deps = { |
| 528 'adb': { |
| 529 devil_env.GetPlatform(): [args.adb_path], |
| 530 }, |
| 531 } |
| 532 |
| 533 devil_chromium.Initialize(custom_deps=devil_custom_deps) |
| 523 | 534 |
| 524 return ProvisionDevices(args) | 535 return ProvisionDevices(args) |
| 525 | 536 |
| 526 | 537 |
| 527 if __name__ == '__main__': | 538 if __name__ == '__main__': |
| 528 sys.exit(main()) | 539 sys.exit(main()) |
| OLD | NEW |