1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-01-19 12:24:32 +00:00

Workloads: Updated to use new media refresh method

Updated the base android workload and google photos workload to pass a list of
updated files rather than their directory.
This commit is contained in:
Marc Bonnici 2017-05-05 11:29:30 +01:00
parent e98b653b3e
commit 51c92cb2f5
2 changed files with 17 additions and 6 deletions

View File

@ -653,20 +653,26 @@ class AndroidUxPerfWorkload(AndroidUiAutoBenchmark):
def push_assets(self, context): def push_assets(self, context):
pushed = False pushed = False
file_list = []
for f in self.deployable_assets: for f in self.deployable_assets:
fpath = context.resolver.get(File(self, f)) fpath = context.resolver.get(File(self, f))
device_path = self._path_on_device(fpath) device_path = self._path_on_device(fpath)
if self.force_push_assets or not self.device.file_exists(device_path): if self.force_push_assets or not self.device.file_exists(device_path):
self.device.push_file(fpath, device_path, timeout=300) self.device.push_file(fpath, device_path, timeout=300)
file_list.append(device_path)
pushed = True pushed = True
if pushed: if pushed:
self.device.broadcast_media_mounted(self.device.working_directory) self.device.refresh_device_files(file_list)
def delete_assets(self): def delete_assets(self):
if self.deployable_assets: if self.deployable_assets:
file_list = []
for f in self.deployable_assets: for f in self.deployable_assets:
self.device.delete_file(self._path_on_device(f)) f = self._path_on_device(f)
self.device.broadcast_media_mounted(self.device.working_directory) self.device.delete_file(f)
file_list.append(f)
self.device.delete_file(f)
self.device.refresh_device_files(file_list)
def __init__(self, device, **kwargs): def __init__(self, device, **kwargs):
super(AndroidUxPerfWorkload, self).__init__(device, **kwargs) super(AndroidUxPerfWorkload, self).__init__(device, **kwargs)

View File

@ -83,17 +83,22 @@ class Googlephotos(AndroidUxPerfWorkload):
# This is to guarantee ordering and allows the workload to select a specific # This is to guarantee ordering and allows the workload to select a specific
# image by subfolder, as filenames are not shown easily within the app # image by subfolder, as filenames are not shown easily within the app
d = self.device.working_directory d = self.device.working_directory
file_list = []
for i, f in enumerate(self.test_images): for i, f in enumerate(self.test_images):
self.device.execute('mkdir -p {0}/wa-{1}'.format(d, i + 1)) self.device.execute('mkdir -p {0}/wa-{1}'.format(d, i + 1))
self.device.execute('mv {0}/{2} {0}/wa-{1}/{2}'.format(d, i + 1, f)) self.device.execute('mv {0}/{2} {0}/wa-{1}/{2}'.format(d, i + 1, f))
file_list.append('{0}/wa-{1}/{2}'.format(d, i + 1, f))
# Force rescan # Force rescan
self.device.broadcast_media_mounted(self.device.working_directory) self.device.refresh_device_files(file_list)
def teardown(self, context): def teardown(self, context):
super(Googlephotos, self).teardown(context) super(Googlephotos, self).teardown(context)
# Remove the subfolders and its content # Remove the subfolders and its content
d = self.device.working_directory d = self.device.working_directory
file_list = []
for i in xrange(len(self.test_images)): for i in xrange(len(self.test_images)):
self.device.execute('rm -rf {0}/wa-{1}'.format(d, i + 1)) f = '{0}/wa-{1}'.format(d, i + 1)
self.device.execute('rm -rf {}'.format(f))
file_list.append(f)
# Force rescan # Force rescan
self.device.broadcast_media_mounted(self.device.working_directory) self.device.refresh_device_files(file_list)