In a recent commit workload versions were changed to match their APK versions.
This commit adds the old versions to the allowed versions and automatically
maps them onto the new values.
It has been observed on some devices that the FINE_LOCATION premissions is required
for antutu to run without asking for permissions at run time but this was not listed
in the APK manifest. This caused issues on devices were only the permissions in the
manifest can be granted. This commit sliences any error when trying to set this permission
as well as only trying only on Android 6+
- Check the APK's versionName property against the workload's
expected version if specified
- If workload specifies check_abi param, try to get APK from
ABI-specific path on the host
- Add variant_name param to APK resource-getter for backwards
compatibility of dex2oat and peacekeeper
After running the benchmark, when collecting the output files the execution
fails because the split('\n') call, used for creating a list of output files,
returns an empty string as last element. The empty string makes the pull command
fail because file '' doesn't exist on the target device.
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Previously, the workload was invoking the executable via its name,
assuming that it will be in PATH. As WA's executables directory is not
in path, the invocation was failing. This commit saves the full path to
the installed executable and uses that instead.
Inconsistently, while install() for Android devices automatically
handles both APKs and executables appropriately, uninstall() only works
for packages. Changing to use uninstall_executable() for the scripts
deployed by recentfling.
- Scripts are now deployed during via install() ensuring that they are
executable.
- Handle the case where the PID file is delted before getting to
process_results.
- Exposed the option to not start any apps before flinging via a
parameter.
- make sure results_list is always instatiated even if no metrics found;
this would previously cause a "used before declaration" error
- Detect that no metrics were extracted from the log and raise a
WorkloadError
Blogbench is a portable filesystem benchmark that tries to reproduce the
load of a real-world busy file server.
Signed-off-by: Chase Qi <chase.qi@linaro.org>
The stock camera app as of Android M has changed. This commit updates
the ui automation to work with this new app. As part of this change
it was required to bump the API level of the ui automation to 18.
Also made the teardown of the capture workload close the app like the
record workload.
stress-ng will stress test a computer system in various selectable ways.
It was designed to exercise various physical subsystems of a computer as
well as the various operating system kernel interfaces.
Signed-off-by: Chase Qi <chase.qi@linaro.org>
The old results looked like:
I/TfwActivity(30824): "description": "",
I/TfwActivity(30824): "elapsed_time": 62070,
I/TfwActivity(30824): "error": "NOERROR",
The new format is:
04-04 11:38:04.144 1410 1410 I TfwActivity: "description": "",
04-04 11:38:04.144 1410 1410 I TfwActivity: "elapsed_time": 62009,
04-04 11:38:04.144 1410 1410 I TfwActivity: "error": "NOERROR",
This patch tidies up the benchmark code to bring it in line with the
style used in Workload Automation in general. Additionally, the
results from sub-benchmarks are now directly written to a file on the
device as opposed to processing the standard output/error from the
benchmark, which was error prone.
applaunch creates and deploys an auxilary script in order to collect
precise timings. This script invoked busybox with the assumption that it
is in PATH.
Since recent changes mean that it is no longer deployed to /system/bin,
the busybox in not found. With this commit, the full path to busybox
will be passed into the script's template.
Added:
get_binary_path: Checks binary_directory for the wanted binary, if
if its not there, it will use which to find a
system one. returns the full path
install_if_needed: will install a binary only if it is not present.
Changes:
- Busybox is now deployed to non-rooted devices
- is_installed has now been removed as the new functions supersede it
- binaries will now always be installed to `binaries_directory` and
not system folders.
- updated workloads to use these new functions
- rt-app and sysbench might still need work
When IO is heavily loaded, the impact of IO schedulers on App launch
time varies. To measure the impact, added io_stress and io_scheduler two
parameters and related jinja2 blocks.
Signed-off-by: Chase Qi <chase.qi@linaro.org>
Since cleanup test block is defined in the device_script.template, the
value of cleanup is needed to render the template properly.
Signed-off-by: Chase Qi <chase.qi@linaro.org>
Add video-long.json and video-short.json files and
update spreading-tasks.json. The originals can be
found in git.linaro.org/power/rt-app.git repo.
Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>
Test 0 (write) creates a file that is used by subsequent tests.
Therefore if this test is not specified withen selecting which tests to
run, izone will fail with an error.
To avoid this, check the tests list specified by the user andd add test
0 if necessary.
In order to show more detailed results for the iozone
workload, inform users to enable classifiers in their
agenda or config file.
Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>
When users specify tests, the parse_metrics()
function doesn't capture the last report name and its
results during the parsing process. Fix the
parse_metrics() function to make sure the data for
all reports are captured.
Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>
Bbench only works on Android. It should advertise that fact by setting
supported_platforms to ['android'].
Telemetry is a Chrome browser workload that is only supported on
ChromeOS and Android.
A newer version of rt-app has been released. Built
binaries from git://git.linaro.org/power/rt-app.git.
Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>
Added functions to parse thread-mode results and
non-thread mode results accordingly, in addition
to rewriting the update_result() function.
Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>