aboutsummaryrefslogtreecommitdiff
path: root/catapult/devil/bin/run_py3_tests
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2021-04-16 18:15:09 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-04-16 18:15:09 +0000
commit404449cf55ec6de2f989864cf8ea2b315d651438 (patch)
treeb9a6b60023b853553ae095370bf251a2f1f7640e /catapult/devil/bin/run_py3_tests
parent977f880b2fd00c647f646cd7d89cc99fc40785b0 (diff)
parentef2f29d2b3cf25a46be203d6b12ad0eceaf270b2 (diff)
downloadchromium-trace-404449cf55ec6de2f989864cf8ea2b315d651438.tar.gz
Merge changes I195c394b,Iff693cf6 am: b101eec5e1 am: d5085cc096 am: 19f3aab438 am: ef2f29d2b3
Original change: https://android-review.googlesource.com/c/platform/external/chromium-trace/+/1677030 Change-Id: I0db46c49b8612a35c20dda4fda86e5070c194102
Diffstat (limited to 'catapult/devil/bin/run_py3_tests')
-rwxr-xr-xcatapult/devil/bin/run_py3_tests113
1 files changed, 113 insertions, 0 deletions
diff --git a/catapult/devil/bin/run_py3_tests b/catapult/devil/bin/run_py3_tests
new file mode 100755
index 00000000..3250ff15
--- /dev/null
+++ b/catapult/devil/bin/run_py3_tests
@@ -0,0 +1,113 @@
+#!/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())