You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.8 KiB
114 lines
3.8 KiB
#!/usr/bin/env vpython3
|
|
# Copyright 2020 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
"""Runs all python3-compatible tests in devil."""
|
|
|
|
import os
|
|
import sys
|
|
import unittest
|
|
|
|
_DEVIL_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
|
_SIX_PATH = os.path.join(_DEVIL_PATH, '..', 'third_party', 'six')
|
|
|
|
sys.path.append(_DEVIL_PATH)
|
|
sys.path.append(_SIX_PATH)
|
|
# Import compatible tests here by full module path
|
|
import devil.android.apk_helper_test
|
|
import devil.android.app_ui_test
|
|
import devil.android.battery_utils_test
|
|
import devil.android.cpu_temperature_test
|
|
import devil.android.decorators_test
|
|
import devil.android.device_denylist_test
|
|
import devil.android.device_errors_test
|
|
import devil.android.device_utils_test
|
|
import devil.android.fastboot_utils_test
|
|
import devil.android.flag_changer_test
|
|
import devil.android.logcat_monitor_test
|
|
import devil.android.md5sum_test
|
|
import devil.android.perf.perf_control_test
|
|
import devil.android.perf.surface_stats_collector_test
|
|
import devil.android.sdk.adb_wrapper_test
|
|
import devil.android.sdk.shared_prefs_test
|
|
import devil.android.tools.device_monitor_test
|
|
import devil.android.tools.script_common_test
|
|
import devil.android.tools.system_app_test
|
|
import devil.devil_env_test
|
|
import devil.utils.cmd_helper_test
|
|
import devil.utils.decorators_test
|
|
import devil.utils.find_usb_devices_test
|
|
import devil.utils.geometry_test
|
|
import devil.utils.lazy.weak_constant_test
|
|
import devil.utils.lsusb_test
|
|
import devil.utils.markdown_test
|
|
import devil.utils.mock_calls_test
|
|
import devil.utils.parallelizer_test
|
|
import devil.utils.reraiser_thread_unittest
|
|
import devil.utils.timeout_retry_unittest
|
|
import devil.utils.zip_utils_test
|
|
|
|
PY3_COMPATIBLE_TESTS = [
|
|
# Add full test module path here
|
|
devil.android.apk_helper_test,
|
|
devil.android.app_ui_test,
|
|
devil.android.battery_utils_test,
|
|
devil.android.cpu_temperature_test,
|
|
devil.android.decorators_test,
|
|
devil.android.device_denylist_test,
|
|
devil.android.device_errors_test,
|
|
devil.android.device_utils_test,
|
|
devil.android.fastboot_utils_test,
|
|
devil.android.flag_changer_test,
|
|
devil.android.logcat_monitor_test,
|
|
devil.android.md5sum_test,
|
|
devil.android.perf.perf_control_test,
|
|
devil.android.perf.surface_stats_collector_test,
|
|
devil.android.sdk.adb_wrapper_test,
|
|
devil.android.sdk.shared_prefs_test,
|
|
devil.android.tools.device_monitor_test,
|
|
devil.android.tools.script_common_test,
|
|
devil.android.tools.system_app_test,
|
|
devil.devil_env_test,
|
|
devil.utils.cmd_helper_test,
|
|
devil.utils.decorators_test,
|
|
devil.utils.find_usb_devices_test,
|
|
devil.utils.geometry_test,
|
|
devil.utils.lazy.weak_constant_test,
|
|
devil.utils.lsusb_test,
|
|
devil.utils.markdown_test,
|
|
devil.utils.mock_calls_test,
|
|
devil.utils.parallelizer_test,
|
|
devil.utils.reraiser_thread_unittest,
|
|
devil.utils.timeout_retry_unittest,
|
|
devil.utils.zip_utils_test,
|
|
]
|
|
|
|
|
|
def main():
|
|
# TODO(crbug.com/1007101): Use six.PY2 directly once we're using six via
|
|
# vpython.
|
|
if sys.version_info[0] == 2:
|
|
print('Somehow running under python2.')
|
|
return 1
|
|
|
|
# Tests mock out internal details of methods, and the ANDROID_SERIAL can
|
|
# change which internal methods are called. Since tests don't actually use
|
|
# devices, it should be fine to delete the variable.
|
|
if 'ANDROID_SERIAL' in os.environ:
|
|
del os.environ['ANDROID_SERIAL']
|
|
|
|
# This does not use typ for now, as typ has vpython dependencies that haven't
|
|
# yet been updated for python3.
|
|
result = unittest.TextTestRunner().run(unittest.TestSuite(
|
|
unittest.defaultTestLoader.loadTestsFromModule(test_module)
|
|
for test_module in PY3_COMPATIBLE_TESTS
|
|
))
|
|
|
|
return 0 if result.wasSuccessful() else 1
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|