1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-02-20 20:09:11 +00:00

resource_getters: Add support for matching apks via package name

Allows distinguishing between apks based on the package name specified
in the workload.
This commit is contained in:
Marc Bonnici 2018-01-23 11:20:53 +00:00 committed by setrofim
parent e5417e5b7f
commit 7c920f953c
3 changed files with 7 additions and 3 deletions

View File

@ -35,10 +35,11 @@ class ApkFile(FileResource):
name = 'apk'
def __init__(self, owner, platform=None, uiauto=False):
def __init__(self, owner, platform=None, uiauto=False, package=None):
super(ApkFile, self).__init__(owner)
self.platform = platform
self.uiauto = uiauto
self.package = package
def __str__(self):
apk_type = 'uiautomator ' if self.uiauto else ''

View File

@ -220,7 +220,8 @@ class ApkWorkload(Workload):
self.logger.debug("Found version '{}' on target device".format(target_version))
# Get host version
self.apk_file = context.resolver.get(ApkFile(self, self.device.abi),
self.apk_file = context.resolver.get(ApkFile(self, self.device.abi,
package=getattr(self, 'package', None)),
version=getattr(self, 'version', None),
variant_name=getattr(self, 'variant_name', None),
strict=False)
@ -232,7 +233,8 @@ class ApkWorkload(Workload):
# Get host version, primary abi is first, and then try to find supported.
for abi in self.device.supported_abi:
self.apk_file = context.resolver.get(ApkFile(self, abi),
self.apk_file = context.resolver.get(ApkFile(self, abi,
package=getattr(self, 'package', None)),
version=getattr(self, 'version', None),
variant_name=getattr(self, 'variant_name', None),
strict=False)

View File

@ -565,6 +565,7 @@ def get_from_list_by_extension(resource, filelist, extension, version=None, vari
filelist = [ff for ff in filelist if version.lower() in os.path.basename(ff).lower()]
if extension == 'apk':
filelist = [ff for ff in filelist if not ApkInfo(ff).native_code or resource.platform in ApkInfo(ff).native_code]
filelist = [ff for ff in filelist if not resource.package or resource.package == ApkInfo(ff).package]
filelist = [ff for ff in filelist if resource.uiauto == ('com.arm.wlauto.uiauto' in ApkInfo(ff).package)]
if len(filelist) == 1:
return filelist[0]