Port v3.0 of Speedometer from Webkit [1] repo and update tarballs.
"version" field can be added to the workload agenda file to specify
which version of Speedomer should be used.
Size of v3.0 tarball is around 12 MB if the compression type is gzip.
Thus, in order to reduce total size of the repo, compress Speedometer
archives in LZMA format.
1. https://github.com/WebKit/WebKit/tree/main/Websites/browserbench.org/Speedometer3.0
Signed-off-by: Metin Kaya <metin.kaya@arm.com>
- Remove unused imports
- Handle the case that @candidate_files may be undefined
- Customize the log message regarding Speedometer timeout
Signed-off-by: Metin Kaya <metin.kaya@arm.com>
The regex pattern for extracting speedometer score causes these
exceptions due to unescaped \d and \/ sequences:
wa/workloads/speedometer/__init__.py:109: SyntaxWarning: invalid escape
sequence '\d'
'(?:text|content-desc)="(?P<value>\d+.\d+)"[^>]*'
wa/workloads/speedometer/__init__.py:110: SyntaxWarning: invalid escape
sequence '\/'
'(?(Z)|resource-id="result-number")[^>]*\/>'
Fix the problem via defining the regex pattern as raw string literal to
properly escape backslashes.
Signed-off-by: Metin Kaya <metin.kaya@arm.com>
When speedometer is running on a Chrome package on Android 14, a pop-up
window was showing on the screen. Chrome preferences file is modified
to dismiss the window.
Bromite is a fork of Chromium that's easily available for Android. Apart
from small changes it works the same as Chromium and works with this
speedometer workload. Add it to the 'package_names' list to allow using
it as an option.
https://www.bromite.org/
Signed-off-by: Kajetan Puchalski <kajetan.puchalski@arm.com>
We need to make those attributes class-attributes, to make sure they are still
defined in subsequent jobs. We still access them through 'self', however.
This version replaces the previous uiauto version of Speedometer with a new
version.
* Supports both chrome and chromium again, this is selected with the
chrome_package parameter.
* No longer needs internet access.
* Version 1.0 of Speedometer is no longer supported.
* Requires root:
- sometimes uiautomator dump doesn't capture the score if not run as root
- need to modify the browser's XML preferences file to bypass T&C acceptance
screen
Some devices print non standard characters to logcat. If an error
occurs when parsing the output, replace the offending character instead
of raising an error.
* Workload was failing when chrome was not set as default broser so
altered to use chrome every time.
* Changed workload to an ApkuiAutoWorkload since chrome is now a
dependency.
* Refactored opening speedometer to new method.
* Added wait time for scores to show up when test finished.
On devices running android 9 with google play services, PlayProtect
blocks the installation of our automation apks due to targeting a lower
SDK version. Update all apk builds to target SDK version 28 (Android 9)
however do not change the minimum version to maintain backwards
compatibility.
- Fix formatting
- Skip teardown automation if elements are not present on some devices
instead of failing the workload.
- Give extra time for start button to appear as some devices can be slow
to load.
- Add copyright headers to files that did not already have them
- Update the year to the last year the file was modified in files with
existing headers.