1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2024-10-05 18:31:12 +01:00

geekbench: Add support for Geekbench 6

Add support for Geekbench 6 as a workload on Android.
This commit adds 6.*.* as a valid version for the Geekbench workload and
updates the UIAuto apk accordingly.

It also refactors the update_result function seeing as the one
originally used for GB4 can now be used for 4, 5 and 6 and so it makes
more sense to treat it as a 'generic' update_result function. The
functionality should stay the same.

Backwards compatibility with GB2 & GB3 should be maintained.
This commit is contained in:
Kajetan Puchalski 2023-02-27 16:40:03 +00:00 committed by Marc Bonnici
parent c4535320fa
commit 40a118c8cd
3 changed files with 8 additions and 5 deletions

View File

@ -53,8 +53,8 @@ class Geekbench(ApkUiautoWorkload):
"""
summary_metrics = ['score', 'multicore_score']
supported_versions = ['5', '4.4.2', '4.4.0', '4.3.4', '4.3.2', '4.3.1', '4.2.0', '4.0.1', '3.4.1', '3.0.0', '2']
package_names = ['com.primatelabs.geekbench5', 'com.primatelabs.geekbench', 'com.primatelabs.geekbench3', 'ca.primatelabs.geekbench2']
supported_versions = ['6', '5', '4.4.2', '4.4.0', '4.3.4', '4.3.2', '4.3.1', '4.2.0', '4.0.1', '3.4.1', '3.0.0', '2']
package_names = ['com.primatelabs.geekbench6', 'com.primatelabs.geekbench5', 'com.primatelabs.geekbench', 'com.primatelabs.geekbench3', 'ca.primatelabs.geekbench2']
begin_regex = re.compile(r'^\s*D/WebViewClassic.loadDataWithBaseURL\(\s*\d+\s*\)'
r'\s*:\s*(?P<content>\<.*)\s*$')
@ -137,7 +137,7 @@ class Geekbench(ApkUiautoWorkload):
context.add_metric(namemify(section['name'] + '_multicore_score', i),
section['multicore_score'])
def update_result_4(self, context):
def update_result(self, context):
outfile_glob = self.target.path.join(self.target.package_data_directory, self.apk.package, 'files', '*gb*')
on_target_output_files = [f.strip() for f in self.target.execute('ls {}'.format(outfile_glob),
as_root=True).split('\n') if f]
@ -151,7 +151,7 @@ class Geekbench(ApkUiautoWorkload):
with open(host_output_file, 'w') as wfh:
json.dump(data, wfh, indent=4)
context.add_artifact('geekout', host_output_file, kind='data',
description='Geekbench 4 output from target.')
description='Geekbench output from target.')
context.add_metric(namemify('score', i), data['score'])
context.add_metric(namemify('multicore_score', i), data['multicore_score'])
for section in data['sections']:
@ -161,7 +161,9 @@ class Geekbench(ApkUiautoWorkload):
context.add_metric(namemify(section['name'] + '_' + workload_name + '_score', i),
workloads['score'])
update_result_5 = update_result_4
update_result_4 = update_result
update_result_5 = update_result
update_result_6 = update_result
class GBWorkload(object):

View File

@ -96,6 +96,7 @@ public class UiAutomation extends BaseUiAutomation {
break;
case 4:
case 5:
case 6:
runCpuBenchmarks(isCorporate);
waitForResultsv3onwards();
break;