Commit 0da4b2ee authored by Nate Fischer's avatar Nate Fischer Committed by Commit Bot

AW: use ABI constants in chromium scripts

No change to logic, just a refactor.

This swaps out hardcoded string literals for the newly added ABI
constants for a few scripts in chromium.

This updates pydeps for the scripts this transitively affects, which
conveniently includes the pydeps files which previously blocked a
catapult autoroll.

Bug: 922854, 925237, 924778
Test: vpython android_webview/tools/run_cts_test.py
Test: vpython build/android/list_class_verification_failures_test.py
Change-Id: I9c754809f00606bad19120e869d5c7f47b8dba02
Reviewed-on: https://chromium-review.googlesource.com/c/1436876Reviewed-by: default avatarTobias Sargeant <tobiasjs@chromium.org>
Reviewed-by: default avatarJohn Budorick <jbudorick@chromium.org>
Commit-Queue: Nate Fischer <ntfschr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626122}
parent 21064cbf
......@@ -18,7 +18,8 @@ import zipfile
sys.path.append(os.path.join(
os.path.dirname(__file__), os.pardir, os.pardir, 'build', 'android'))
import devil_chromium # pylint: disable=import-error
import devil_chromium # pylint: disable=import-error, unused-import
from devil.android.ndk import abis # pylint: disable=import-error
from devil.android.sdk import version_codes # pylint: disable=import-error
from devil.android.tools import script_common # pylint: disable=import-error
from devil.utils import cmd_helper # pylint: disable=import-error
......@@ -49,9 +50,9 @@ _SDK_PLATFORM_DICT = {
# TODO(aluo): support 'x86' and 'x86_64'
_SUPPORTED_ARCH_DICT = {
'arm64-v8a': 'arm64',
abis.ARM_64: 'arm64',
# The test apks under 'arm64' support both arm and arm64 devices.
'armeabi-v7a': 'arm64',
abis.ARM: 'arm64',
}
......
......@@ -35,6 +35,8 @@
//third_party/catapult/devil/devil/android/install_commands.py
//third_party/catapult/devil/devil/android/logcat_monitor.py
//third_party/catapult/devil/devil/android/md5sum.py
//third_party/catapult/devil/devil/android/ndk/__init__.py
//third_party/catapult/devil/devil/android/ndk/abis.py
//third_party/catapult/devil/devil/android/sdk/__init__.py
//third_party/catapult/devil/devil/android/sdk/aapt.py
//third_party/catapult/devil/devil/android/sdk/adb_wrapper.py
......
......@@ -3,10 +3,18 @@
# found in the LICENSE file.
import logging
import os
import sys
import unittest
import mock
import run_cts
sys.path.append(os.path.join(
os.path.dirname(__file__), os.pardir, os.pardir, 'build', 'android'))
import devil_chromium # pylint: disable=import-error, unused-import
from devil.android.ndk import abis # pylint: disable=import-error
class _RunCtsTest(unittest.TestCase):
"""Unittests for the run_cts module.
"""
......@@ -14,7 +22,7 @@ class _RunCtsTest(unittest.TestCase):
def testDetermineArch_arm64(self):
logging_mock = mock.Mock()
logging.info = logging_mock
device = mock.Mock(product_cpu_abi='arm64-v8a')
device = mock.Mock(product_cpu_abi=abis.ARM_64)
self.assertEqual(run_cts.DetermineArch(device), 'arm64')
# We should log a message to explain how we auto-determined the arch. We
# don't assert the message itself, since that's rather strict.
......
......@@ -13,6 +13,7 @@ if host_paths.DEVIL_PATH not in sys.path:
sys.path.append(host_paths.DEVIL_PATH)
from devil import devil_env
from devil.android.ndk import abis
_DEVIL_CONFIG = os.path.abspath(
os.path.join(os.path.dirname(__file__), 'devil_chromium.json'))
......@@ -28,12 +29,12 @@ _DEVIL_BUILD_PRODUCT_DEPS = {
'forwarder_device': [
{
'platform': 'android',
'arch': 'armeabi-v7a',
'arch': abis.ARM,
'path_components': ['forwarder_dist'],
},
{
'platform': 'android',
'arch': 'arm64-v8a',
'arch': abis.ARM_64,
'path_components': ['forwarder_dist'],
},
{
......@@ -48,12 +49,12 @@ _DEVIL_BUILD_PRODUCT_DEPS = {
},
{
'platform': 'android',
'arch': 'x86',
'arch': abis.X86,
'path_components': ['forwarder_dist'],
},
{
'platform': 'android',
'arch': 'x86_64',
'arch': abis.X86_64,
'path_components': ['forwarder_dist'],
},
],
......@@ -67,12 +68,12 @@ _DEVIL_BUILD_PRODUCT_DEPS = {
'md5sum_device': [
{
'platform': 'android',
'arch': 'armeabi-v7a',
'arch': abis.ARM,
'path_components': ['md5sum_dist'],
},
{
'platform': 'android',
'arch': 'arm64-v8a',
'arch': abis.ARM_64,
'path_components': ['md5sum_dist'],
},
{
......@@ -87,12 +88,12 @@ _DEVIL_BUILD_PRODUCT_DEPS = {
},
{
'platform': 'android',
'arch': 'x86',
'arch': abis.X86,
'path_components': ['md5sum_dist'],
},
{
'platform': 'android',
'arch': 'x86_64',
'arch': abis.X86_64,
'path_components': ['md5sum_dist'],
},
],
......
......@@ -22,6 +22,7 @@ import devil_chromium
from devil.android import device_errors
from devil.android import device_temp_file
from devil.android import device_utils
from devil.android.ndk import abis
from devil.android.sdk import version_codes
from devil.android.tools import script_common
from py_utils import tempfile_ext
......@@ -73,7 +74,7 @@ class UnsupportedDeviceError(Exception):
def _GetFormattedArch(device):
abi = device.product_cpu_abi
# Some architectures don't map 1:1 with the folder names.
return {'arm64-v8a': 'arm64', 'armeabi-v7a': 'arm'}.get(abi, abi)
return {abis.ARM_64: 'arm64', abis.ARM: 'arm'}.get(abi, abi)
def PathToDexForPlatformVersion(device, package_name):
......
......@@ -11,6 +11,7 @@ from pylib.constants import host_paths
import devil_chromium # pylint: disable=unused-import
from devil.android import device_errors
from devil.android import device_utils
from devil.android.ndk import abis
from devil.android.sdk import version_codes
with host_paths.SysPath(host_paths.PYMOCK_PATH):
......@@ -66,7 +67,7 @@ class _ListClassVerificationFailuresTest(unittest.TestCase):
sdk_int = version_codes.LOLLIPOP
paths_to_apk = []
package_name = 'package.name'
arch = 'arm64-v8a'
arch = abis.ARM_64
device = mock.Mock(build_version_sdk=sdk_int, product_cpu_abi=arch)
device.GetApplicationPaths = mock.MagicMock(return_value=paths_to_apk)
......@@ -80,7 +81,7 @@ class _ListClassVerificationFailuresTest(unittest.TestCase):
sdk_int = version_codes.LOLLIPOP
paths_to_apk = ['/first/path', '/second/path']
package_name = 'package.name'
arch = 'arm64-v8a'
arch = abis.ARM_64
device = mock.Mock(build_version_sdk=sdk_int, product_cpu_abi=arch)
device.GetApplicationPaths = mock.MagicMock(return_value=paths_to_apk)
......@@ -94,7 +95,7 @@ class _ListClassVerificationFailuresTest(unittest.TestCase):
sdk_int = version_codes.KITKAT
paths_to_apk = ['/some/path']
package_name = 'package.name'
arch = 'arm64-v8a'
arch = abis.ARM_64
device = mock.Mock(build_version_sdk=sdk_int, product_cpu_abi=arch)
device.GetApplicationPaths = mock.MagicMock(return_value=paths_to_apk)
......@@ -137,7 +138,7 @@ class _ListClassVerificationFailuresTest(unittest.TestCase):
sdk_int = version_codes.MARSHMALLOW
package_name = 'package.name'
paths_to_apk = ['/some/path/{}-1/base.apk'.format(package_name)]
arch = 'arm64-v8a'
arch = abis.ARM_64
device = mock.Mock(build_version_sdk=sdk_int, product_cpu_abi=arch)
device.GetApplicationPaths = mock.MagicMock(return_value=paths_to_apk)
......@@ -152,7 +153,7 @@ class _ListClassVerificationFailuresTest(unittest.TestCase):
sdk_int = version_codes.PIE
package_name = 'package.name'
paths_to_apk = ['/some/path/{}-1/base.apk'.format(package_name)]
arch = 'arm64-v8a'
arch = abis.ARM_64
device = mock.Mock(build_version_sdk=sdk_int, product_cpu_abi=arch)
device.GetApplicationPaths = mock.MagicMock(return_value=paths_to_apk)
......@@ -167,7 +168,7 @@ class _ListClassVerificationFailuresTest(unittest.TestCase):
sdk_int = version_codes.MARSHMALLOW
package_name = 'package.name'
paths_to_apk = ['/some/path/{}-1/base.apk'.format(package_name)]
arch = 'arm64-v8a'
arch = abis.ARM_64
device = mock.Mock(build_version_sdk=sdk_int, product_cpu_abi=arch)
device.GetApplicationPaths = mock.MagicMock(return_value=paths_to_apk)
......
......@@ -19,6 +19,8 @@
../../third_party/catapult/devil/devil/android/__init__.py
../../third_party/catapult/devil/devil/android/constants/__init__.py
../../third_party/catapult/devil/devil/android/constants/chrome.py
../../third_party/catapult/devil/devil/android/ndk/__init__.py
../../third_party/catapult/devil/devil/android/ndk/abis.py
../../third_party/catapult/devil/devil/android/sdk/__init__.py
../../third_party/catapult/devil/devil/android/sdk/build_tools.py
../../third_party/catapult/devil/devil/android/sdk/dexdump.py
......
......@@ -45,6 +45,8 @@
../../third_party/catapult/devil/devil/android/install_commands.py
../../third_party/catapult/devil/devil/android/logcat_monitor.py
../../third_party/catapult/devil/devil/android/md5sum.py
../../third_party/catapult/devil/devil/android/ndk/__init__.py
../../third_party/catapult/devil/devil/android/ndk/abis.py
../../third_party/catapult/devil/devil/android/ports.py
../../third_party/catapult/devil/devil/android/sdk/__init__.py
../../third_party/catapult/devil/devil/android/sdk/aapt.py
......
......@@ -34,6 +34,8 @@
../../../third_party/catapult/devil/devil/android/install_commands.py
../../../third_party/catapult/devil/devil/android/logcat_monitor.py
../../../third_party/catapult/devil/devil/android/md5sum.py
../../../third_party/catapult/devil/devil/android/ndk/__init__.py
../../../third_party/catapult/devil/devil/android/ndk/abis.py
../../../third_party/catapult/devil/devil/android/sdk/__init__.py
../../../third_party/catapult/devil/devil/android/sdk/aapt.py
../../../third_party/catapult/devil/devil/android/sdk/adb_wrapper.py
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment