1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2024-10-06 10:51:13 +01:00
Commit Graph

1043 Commits

Author SHA1 Message Date
Marc Bonnici
b1da0fe958 AndroidDevice: Add a common_base_path utility function
Adds a utility function to determine the lowest common base path of a passed list
of files.
2017-05-11 18:17:29 +01:00
Marc Bonnici
b10b5970c3 AndroidDevice: Add a broadcast_media_scan_file method
In android N it is no longer allowed to trigger a media refresh of a directory
without root, therefore this method has been added to trigger a refresh of an
individual file.
2017-05-11 09:44:49 +01:00
Marc Bonnici
e866cfed12 AndroidDevice: Add as_root flag to broadcast_media_mounted
Allows the `MEDIA_MOUNTED` broadcast to be performed as root as
this now requires elevated permission in android N.
2017-05-11 09:11:24 +01:00
Marc Bonnici
f5b40e3d64 AndroidUtils: Updated Android_Version_Map
Added Marshmallow and Nougat SDK versions codes to the version map.
2017-05-11 09:11:23 +01:00
Sergei Trofimov
cc3a815cb7 uxperf workloads: only broadcast media mounted if needed
Previously AndroidPerfWorkload broadcast media mounted unconditionally
inside push_assets and delete_assets. This change makes it so the
broadcast only happens if something was actually pushed/needs to be
delete.
2017-05-10 15:42:10 +01:00
setrofim
9ef8bddc4b Merge pull request #383 from jimboatarm/gbfix
Fix geekbench to use new ParameterDict types
2017-04-26 08:15:06 +01:00
James Hartley
a3011accf8 Fix geekbench to use new ParameterDict types
Tested using Huawei P10
2017-04-25 18:12:48 +01:00
Sergei Trofimov
317da0a1c4 trace-cmd: updating trace-cmd binary to a more recent version
The one we currently have is over two years old. This is, in particular,
for the following fixes:

https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git/commit/?id=e5e453917f247faa7d37728d59001759e7005258
https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git/commit/?id=709b47c3f7d4e41e89ee58a85cd106456f779445
2017-04-20 16:25:57 +01:00
Sergei Trofimov
7c79c24865 rt-app: fix classifer update
rt-app inserts its own classifiers into the results. Previosly, if was
replacing the existing classifier if there were any. Now, classifiers
are updated, rather than replaced.
2017-04-07 16:33:24 +01:00
Sergei Trofimov
6c5e52ad56 freqsweep: fixing additional classifiers
Properly handle the case where additional classifiers are not specified.
2017-04-07 10:05:29 +01:00
setrofim
1019b30174 Merge pull request #379 from marcbonnici/binary_sysfile
Device: Updated to set and retrieve binary data from sysfiles
2017-04-06 16:11:13 +01:00
Marc Bonnici
50236b0661 Device: Updated to set and retrieve binary data from sysfiles
`set_sysfile_values` now accepts a `^` symbol prefixed to the
file path to indicated that the value should be written as binary data.
To accommodate this an extra `binary` flag has been added to  the `set_sysfile_value`and `get_sysfile_value` methods to write and retrieve the binary data respectively.
2017-04-06 15:59:01 +01:00
setrofim
6cfcb89827 Merge pull request #378 from setrofim/master
freqsweep: added support for additional classifiers
2017-04-06 15:01:07 +01:00
Sergei Trofimov
cf0a4d3ff3 freqsweep: added support for additional classifiers 2017-04-05 14:48:11 +01:00
setrofim
06764dff00 Merge pull request #375 from setrofim/master
cpustates state tracking fix and a new output option
2017-03-29 10:02:48 +01:00
Sergei Trofimov
8f2ff4d2f8 cpustates: fix cluster shutdown tracking
This commit resolves a couple of issues that were causing impropper
cluster shutdown tracking in the cpustates script.

- requested_states in the PowerStateProcessor was being initalized to -1
  instead of None if no state was requested; the later checks are
  against None.
- requested_states was not being set if the request could be satisfied
  immediately, and was being cleared upon being statisfied at a later
  time. This caused a problem when a core leaves idle and then tries to
  re-enter cluster shutdown. Here is an example sequence of events that
  illustrates the issue (assume core0 and core1 are the only two cores
  on a cluster):

  	1. both cores are running
	2. core0 requests cluster-sleep. As core1 is running, it
	   is put into core-sleep instead, and its request is saved.
	3. core1 requests cluster-sleep. As core0 has a pending request
	   for cluster-sleep, both cores are put into cluster-sleep and
	   the pending request is cleared.
	4. core1 becomes active. core0 is elevated to core-sleep.
	5. core1 tries to enter cluster-sleep. Since core0 is currently
	   in core-sleep (and its prior request has laredy been
	   cleared), core1 is put into core-sleep instead, and its
	   request is saved. This is an ERROR as but cores have in fact
	   requested cluster-sleep at this stage.

  If, in step 4., core0 becomes active instead, exactly the same
  situation will result, as core1 was put into cluster-sleep immediately
  and its request was never saved.
  Idle state requests are now always tracked on entry and are only
  cleared when the core leave idle.
- Also removed a pointless identy assignment.
2017-03-24 08:55:47 +00:00
Sergei Trofimov
9a9de99c5f cpustates: added transition timeline option
Added an option to generate a timeline of state transitions, in
contrast to the existing timeline of computed states. This is primarily
intended for debugging of the latter, but may also be useful for certain
kinds of analyses.
2017-03-23 14:01:14 +00:00
setrofim
f52aa0f7e9 Merge pull request #372 from jimboatarm/appsharefix
Appshare .jar rebuild
2017-03-22 12:25:36 +00:00
scott
935edcdd01 Appshare .jar rebuild
Rebuilding the .jar file as it is not up to date with the current source.
2017-03-22 12:23:35 +00:00
Sergei Trofimov
869c0bc6bd meizumx6: fix: changing is_rooted to be a property 2017-03-16 13:40:39 +00:00
setrofim
57ab97df89 Merge pull request #367 from jimboatarm/googleplaybooks_intfix
Googleplaybooks: Updating workload to work with change in parameter types
2017-03-09 17:11:18 +00:00
scott
773bf26ff2 Googleplaybooks: Updating workload to work with change in parameter t…
…ypes

Due to a change in the parameter kind we have to update the googleplaybooks workload to work with integers for page numbers as opposed to strings.

This was missed in the previous update: 8f12066
2017-03-09 16:50:26 +00:00
setrofim
2822949517 Merge pull request #363 from marcbonnici/facebook_fix
Facebook: Updated workload to work with server changes.
2017-03-06 08:13:10 +00:00
Marc Bonnici
4dc0aaa724 Facebook: Updated workload to work with server changes.
Fixed being unable to find the 'update status' box.
Now selects a 'do you know' notification rather than the latest,
as this is now a link on how to upgrade the app which opens in
external browser.
2017-03-03 16:38:23 +00:00
setrofim
35df2fff30 Merge pull request #362 from Sticklyman1936/device_sleep
Extend device with sleep functionality
2017-03-02 15:02:04 +00:00
Sascha Bischoff
4abbe7602a Extend device with sleep functionality
This changeset adds the ability to sleep on the device via a
device.sleep() method. This invokes sleep on the target device. This
is useful for situations where the passage of time on the target
device does not match that of the host, e.g., gem5.

This changeset also updates a number of workloads to use this new
sleep method.
2017-03-02 14:22:05 +00:00
marcbonnici
55e40ded1c Merge pull request #361 from Sticklyman1936/audio_fix
Remove stale browser-specific commands from audio workload
2017-03-02 10:46:18 +00:00
Sascha Bischoff
441ecfa98c Remove stale browser-specific commands from audio workload
In this changeset we remove some left over browser specific commands
which are no longer required as part of the audio workload.
2017-03-02 10:40:11 +00:00
Sergei Trofimov
7130b3a4ab Removing browser launch from audio and video
For historical reasons audio and video workloads were launching the
browser as part of their setup. This is no longer necessary. Not only
that, since on recent devices the default Android browser is missing,
this causes problems with the workloads. This commit removes the browser
launch.
2017-03-02 10:29:00 +00:00
setrofim
510abf4666 Merge pull request #359 from jimboatarm/fps-override
Allow user to override the method of collecting FPS data
2017-02-24 16:33:31 +00:00
Michael McGeagh
70b265dd34 fps: Added parameter to override FPS collection method
In Android M and above, there is a new method of collecting fps
statistics, using gfxinfo rather than SurfaceFlinger, but the
SF method is still available however.
This parameter lets the user decide whether to always use SF,
or to allow the instrument to pick the best method based on
Android version it detects.
2017-02-24 16:22:16 +00:00
setrofim
ddbd94b2a8 Merge pull request #360 from jimboatarm/nanologger
Changed ActionLogger class to use nano timestamps.
2017-02-24 16:20:04 +00:00
Michael McGeagh
c4025cad66 Changed ActionLogger class to use nano timestamps. This is because fps instrument collects data in ns as well so is possible to match the two 2017-02-24 16:11:35 +00:00
setrofim
38b368eec2 Merge pull request #358 from marcbonnici/uiautomator
UXPerfUiAutomation and AppShare Workload Updated
2017-02-23 08:44:11 +00:00
Marc Bonnici
2e97bcce70 Appshare: Fixed typo 2017-02-22 16:25:59 +00:00
Marc Bonnici
9b13f65895 AppShare: Added check to see if additional back press is required.
On some devices after signing into skype, the back button press only
hides the keyboard and a second is required to return to the previous
app.
2017-02-22 16:25:55 +00:00
Marc Bonnici
78c1a80a51 Appshare: Updated to work with new sharing selector name.
On nexus 10 the app share selector has a new name, this commit
checks for either and uses the appropriate one.
2017-02-22 16:22:55 +00:00
Marc Bonnici
7f85da6633 AppShare: Updated to use new method of uiautomator parameter passing. 2017-02-22 16:22:55 +00:00
Marc Bonnici
f76d9f9a1f Appshare: Updated to use new methods in UxPerf.
The appshare workload has been updated to use the new getter/setter
methods added to UXPerf rather than accessing protect variables.
2017-02-22 16:21:37 +00:00
Marc Bonnici
6ffed382cf UxPerfUiAutomation: Added setWorkloadParameters and getPackageID.
To work around appshare requiring access to protected variables of a workload,
a `setWorkloadParameters` method has been added to manually supply a parameter
bundle, and a `getPackageID` method to retrieve a workloads package ID.
2017-02-22 16:21:10 +00:00
Sergei Trofimov
6e7087ee88 resource: remote resource resolution fixes
- "remote" getter priority reduced to be below "environment" so that
  resouces placed into "~/.workload_automation/dependencies" by the user
  take priority over those pulled from remote locations.
- "filer" getter now uses a cache location for the resource rather than
  downloading to the local resource location.
2017-02-21 16:35:16 +00:00
setrofim
96c6f010f8 Merge pull request #356 from marcbonnici/uiautomator
UIAutomator
2017-02-20 17:47:03 +00:00
Marc Bonnici
8f1206678a UiAutomatorWorkloads: Updated to use the new parameter passing functionality.
Each workload has be modfied to remove the old manual paremeter conversion
and instead to retrieve the desired type from the parameter bundle directly.
2017-02-20 16:44:24 +00:00
Marc Bonnici
d10e51e30b UiAutomator: Updated to decode provided parameters from ParameterDict
To prevent parameters having to be converted individually for each worload
the getParams() function has been overridden to perform the required type and
url decoding on the passed parameter bundle before passing the correctly typed
bundle to the workloads.
2017-02-20 16:44:24 +00:00
Marc Bonnici
bd0a6ac3c8 UiAutomatorWorkload: Changed to use a ParameterDict
Due to the limitations of UiAutomator, parameters are not allowed to contain
certain characters including spaces and newlines when passed on the command line.

The python UiAutomatorWorkload baseclasse has been updated to use a
ParameterDict when storing workload parameters.
2017-02-20 16:44:24 +00:00
Marc Bonnici
9ba30c27df WA Types: Added 'ParameterDict' type.
A new 'ParameterDict' has been added that automatically encodes and
decodes values when they are store in a dictionary. The dictionary uses 2 characters
prefixed to each value to store the original type information, e.g. 'fl' -> list of
floats, before being passed through a url encoder. The reverse process happens on retrieval.
To access the encoded values an `iterEncodedItems` and `getEncodedValue` methods have been added.

The appropriate unit tests have also been added.
2017-02-20 16:44:24 +00:00
Marc Bonnici
8f40e6aa40 PEP8 / Pylint Fixes 2017-02-20 16:44:24 +00:00
Marc Bonnici
8c9ae6db53 AndroidWorkload: Split up setup_workload_apk method.
Split up `setup_workload_apk` method into smaller methods to improve readability.
2017-02-20 16:44:24 +00:00
marcbonnici
6ac0c20619 Merge pull request #355 from jimboatarm/scojac01-appshareupdate
Removed surplus back command that was causing AppShare workload to fail
2017-02-20 15:03:20 +00:00
Scott Jackson
cfa1827445 Removing surplus spaces that were added with previous commit 2017-02-20 14:43:01 +00:00