spec2000 expects binaries to be optimised for particular cores and uses
Device's core_names to figure out which cores the benchmark should run
on.
There is one special case, which is "generic", which is not optimised
for a particular uarch. cpumask for this was resolved the same way,
failing the lookup, resulting in the invalid mask 0x0.
To fix this, "generic" is now handled by specifying the mask for all
available CPUs.
Removed dynamically populated existing configs path from doc string as
this is also used to generate the online documentation and therefore should
not be an absolute path.
The workload has been updated to handle the latest version
which no longer has the welcome view page. This has been
done so in a way that still provides backwards compatibility
to previous versions.
Android 7 no longer has the broadcast functions which
mean we have to refresh our image directory another way.
We are now using Google Photos to do this but only if the
current method is unable to find the correct test images.
The Corporate version is a specialised version of Geekbench. It has
different package names and does not require dismissing a EULA. The
new corporate version is added as a distinct
benchmark ("geekbench-corporate" vs "geekbench").
Note that this changes the wait-for-results UiAutomator snippet from
looking for "Running Benchmarks..." to "*Running*". This is because
the version I've tested updates the text widget with the name of each
benchmark phase as it is run. However I don't know if this is a
feature of the Corporate version or simply of Geekbench 4.1.0.
New override function added which uses uiAutoTimeout if no timeout value
has been specified.
Checking against the endcall button now uses this method.
Tested on a Huawei Mate 8 Device with just core 0 enabled (slowing it
down enough that the previous timeout of 0.5s caused the workload to
fail)
On some chromebooks the "images" tab does not appear when attempting to
insert an image, instead the desired image needs to be found via local
storage.
For some reason although the settings element could be found, clicking
on it did not have the desired effect, to solve this the element has
been found as a UiObject2 instead.
In order to workaround an bug in applaunch running on android N, all of the
workloads have been updated to the latest gradle build system, the timeout in
the baseclass has been changed from a TimeUnit to a regualr long and a
duplicately declared parameter bundle has been removed.
Without specifying user `-3' for the launch command, the application is by default
attempted to be launched with permissions that are only grantable to system
apps.
On Android N running under the instrumentation uiautomator appears to have
trouble retrieving the root node for the home screen of google slides. Therefore
we open the navigation drawer via a swipe which allows the node to be found again.
The latest version of uiautomator2 seems to have an issue with google slides not
being able to interact with any elements on the slide therefore we are using a
slightly older version which doesn't have this issue.
Certain configurations of this workload requires root and therefore on some
android devices, this will prompt to grant the app su permissions by default. To
ensure this does not interfere with the run, ensure that either, re-request
permission after reinstall/upgrade is not selected or grant access by default.