1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-01-19 12:24:32 +00:00

1207 Commits

Author SHA1 Message Date
setrofim
a1c19b55b8 Merge pull request #467 from marcbonnici/documentation
Documentation Update
2017-08-16 16:35:07 +01:00
Marc Bonnici
890f4309d4 Documentation: Adds a requirement.txt
In order to build the test documentation the python package `nose` is
required therefore this commit adds a requirements.txt to ensure the
package is available when building the documentation on RTD.
2017-08-16 16:24:38 +01:00
Marc Bonnici
c8cb153f8e Documentation: Fixes missing links to Invocation label 2017-08-16 16:24:38 +01:00
Marc Bonnici
10c1f64216 Documentation/build_instrumentation: Cleanup 2017-08-16 16:24:38 +01:00
Marc Bonnici
f194ef281b Documentation/Builds: Delete previously generated docs
As the Makefile is no longer responsible for calling the extension and
instrumentation documentation ensure any previously generated
documentation is deleted from the respective build file.
2017-08-16 16:24:38 +01:00
Marc Bonnici
4d607b46c5 Documentation/Makefile: Removed additional calls to doc generation
The documentation build process is now automatically called during the
sphinx build therefore the addtional calls from the Makefile have been
removed.
2017-08-16 16:24:38 +01:00
Marc Bonnici
cdd0834447 Documentation: Modified conf.py to allow building on ReadTheDocs
This commit now automatically calls the extension and
instrumentation documention generator and calls Sphinx-api tool
to allow documention generation on ReadTheDocs.
2017-08-16 16:24:38 +01:00
Marc Bonnici
4c0d3f8d20 Bootstrap: Fixes not using newly created config files
If the $WA_USER_DIRECTORY folder is not present on the users
system it is automatically created and a default config.py file
created. Previously this newly created file would not be loaded into
WA causing it to crash.
2017-08-16 16:24:38 +01:00
Marc Bonnici
8dcf1ba6a5 Bootstrap: Make sure that _env_root is an absolute path
If the environment variable $WA_USER_DIRECTORY is not set `_env_root`
is automatically generated from the path expansion of `~`. In some cases
if a home directory is not avaliable for the user this may result in an empty
string. This commit ensure that '_env_root' is still an absolute path
using the current working directory.
2017-08-16 16:24:13 +01:00
marcbonnici
335fff2a6f Merge pull request #464 from sdpenguin/master
revent.py: Fix handling of zero-event files
2017-08-11 17:43:06 +01:00
Waleed El-Geresy
cd0863d7fa revent.py: Fix handling of zero-event files
Previously the try clause worked to catch StopIteration exceptions correctly,
however upon catching the exception, another statment which set self._duration
to (last.time - first.time) was being run regardless, which defeated the point
of the try clause.

This has been fixed by introducing an else clause to contain said statement.
2017-08-11 16:58:44 +01:00
marcbonnici
5cd9bc756c Merge pull request #462 from setrofim/master
revent: fix playback timing
2017-08-10 09:44:00 +01:00
Sergei Trofimov
362e93c4cb revent: fix playback timing
This fixes an issue introduced by commit 5965956

	revent: fix off-by-one in replay

This moved the updating of the current event to the beginning of the
body of the loop, after the check of the while loop to prevent attempting
to assign past the end of array. The problem is that one the conditions
in the check relies on the event being updated, so it need to happen
before that part of the loop condition check.

This move event update back to the end of the loop body, but it moves
the array bounds check from the while loop condition into the body, just
before the update but after the counter is incremented. This should
satisfy both, the counter being bounds checked before it is used, and
the event being updated to the next one to be played before the timing
check in the loop condition.
2017-08-09 17:50:54 +01:00
setrofim
3f7d44de28 Merge pull request #458 from sdpenguin/revent_integrated
ReventWorkload becomes an Linux (not Android) workload + fixes.
2017-08-09 14:22:35 +01:00
Waleed El-Geresy
f35c444ddb generic_linux: Remove forbidden chars from device_model
Fix for Chromebook Plus and possibly other devices - removes forbidden
characters from the device_model such as the null character which was
causing a problem with getters getting file names including device_model.
2017-08-09 14:18:38 +01:00
Waleed El-Geresy
e35d0f2959 wa record: Update -h description for ReventWorkload
Added information pertaining to the new .teardown file and several
rewordings.
2017-08-09 14:18:38 +01:00
Waleed El-Geresy
6d9a03ad8f ReventWorkload: Move class to linux and add features
The ReventWorkload class has been moved to the linux directory and
two new features have been added: the option to run an idle workload
and the option to specify a .teardown revent file as well as a .setup file
which runs in the eponymous stage.
2017-08-09 14:18:38 +01:00
marcbonnici
c6cdd8c0e6 Merge pull request #459 from Sticklyman1936/patch-1
gem5: fixed a typo
2017-08-08 16:48:58 +01:00
Sascha Bischoff
8cf4c259c0 gem5: fixed a typo
Changed "self.longdelay" to "self.long_delay".
2017-08-08 16:34:52 +01:00
setrofim
77bb14331f Merge pull request #456 from marcbonnici/param_dict_fix
Types: Fix parameter dict get method
2017-08-08 08:28:04 +01:00
setrofim
dd8843d24a Merge pull request #455 from marcbonnici/documentation
Documentation fixes
2017-08-04 16:20:35 +01:00
Marc Bonnici
16b302679a workloads/appshare: Fixes missing new line in doc string 2017-08-04 16:12:22 +01:00
Marc Bonnici
f9db0a3798 workloads/rt-app: Fixes typos 2017-08-04 16:12:20 +01:00
Marc Bonnici
548eb99bdc workloads/rt-app: Removed absoulte path in documentation
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.
2017-08-04 16:11:53 +01:00
marcbonnici
f4669e2b20 Merge pull request #454 from jimboatarm/scojac01-updated-workloads
AdobeReader: Updated to handle latest version
2017-08-04 13:08:29 +01:00
scott
0578f26bc7 AdobeReader: Updated to handle latest version
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.
2017-08-04 10:16:14 +01:00
setrofim
12230da959 Merge pull request #445 from jimboatarm/scojac01-updated-workloads
Reworking the Gmail and GooglePlayBooks workloads to work with the la…
2017-08-03 10:00:19 +01:00
scott
afa2e307cc Gmail: Updated to work with Android 7
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.
2017-08-03 09:56:47 +01:00
scott
d662498ea8 GooglePlayBooks: Updated workload to work with the latest version
GooglePlayBooks UI has changed significantly in the latest
version. This includes extra dialog boxes upon first use
which need to be handled.
2017-08-03 09:56:47 +01:00
marcbonnici
9e934c6733 Merge pull request #453 from setrofim/master
revent: fix off-by-one in replay
2017-08-02 17:57:32 +01:00
Sergei Trofimov
596595698d revent: fix off-by-one in replay
Update idx and ev to the next event after the while check (which makes
sure that the next index is within bounds) to avoid a potential
access-past-end-of-array.
2017-08-02 17:52:04 +01:00
marcbonnici
220e0962e1 Merge pull request #452 from setrofim/master
Device: raise RuntimeError in _check_ready
2017-08-02 13:43:06 +01:00
Sergei Trofimov
be3c91b131 Device: raise RuntimeError in _check_ready
Previously, a AttributeError has been raised. This causes issues when
attempting to access some properties that rely on invoking commands on
the device. The error would get swallowed up in Python attribute
resolution machinery, resulting in an error claiming a missing
attribute.

For example, for AndroidDevice, "abi" is a property that internally
calls getprop(), which executes on the device, and thus requires a
connection. If attempting to access device.abi before device.connect()
has been invoked, the following sequence takes place

1. Caller tries to access attribute "abi" of device, which resolves to
   the device.abi property defined in the class.
2. device.abi calls device.getprop()
3. ...which calls device.execute()
4. ...which calls device._check_ready()
5. device._check_ready() raises AttributeError('device not ready.')
6. That gets propagated all the way up to 1., which gets interpreted
   as attribute not being found.
7. Since AndroidDevice defines a __getattr__(), that gets called next
8. __getattr__() looks for a loaded Device module that has an "abi"
   attribute. Since there isn't one, it raises AttributeError('abi').

The result is that the error reports a missing "abi" attribute, rather
than "device not ready", leading to some fun debugging.

Raising RuntimeError (which more appropriate for the circumstances
anyway) does not trigger __getattr__, so the correct error message is
reported to the user. The text of the message has also been adjusted to
make it clearer what has likely gone wrong.
2017-08-02 13:39:55 +01:00
marcbonnici
efad084b24 Merge pull request #446 from setrofim/master
utils/trace_cmd: expect ': ' in task name
2017-07-24 16:40:09 +01:00
Sergei Trofimov
6da0550b98 utils/trace_cmd: expect ': ' in task name
': ' is used as the delimiter for the different parts of of the event
line; unfortunately, it is also a valid character sequence to appear in
a task name.

This change attempts to perform the event line split correctly by
ensuring that the cpu id is present in the first part.
2017-07-24 09:31:31 +01:00
marcbonnici
9500bcd914 Merge pull request #443 from setrofim/master
utils/trace_cmd: fix event parsing
2017-07-20 17:10:21 +01:00
Sergei Trofimov
7f8e7fed4b utils/trace_cmd: fix event parsing
Make event preamble parsing more robust in cases there are multiple
instances of ' [' (e.g. as part of thread name) by splitting exactly
once from the right. The right-most columns are the timestamp and the
cpu id, and much more restricted (and therefore predictable) in their
formatting.
2017-07-20 15:52:31 +01:00
marcbonnici
87972e2605 Merge pull request #441 from setrofim/trace-cmd-optimization
Optimize parsing of trace-cmd output
2017-07-20 11:48:03 +01:00
Sergei Trofimov
33874a8f71 utils/trace_cmd: reduce regex use
Do not attempt to regex match each line for dropped events/preamble. Use
substring search to detect them first, and only use regex on relevant
lines.
2017-07-20 11:12:54 +01:00
Sergei Trofimov
93dba8b35d utils/trace_cmd: optimize event parsing
Use string searching and splitting instead of regex matching to parse
trace events. This significantly speeds up trace parsing.
2017-07-20 11:12:53 +01:00
Sergei Trofimov
6f629601be utils/trace_cmd: lazy evaluation of event fields
Parsing if a trace events body text into fields is potentially
expensive, so only do it if the fields are being accessed.
2017-07-20 11:12:53 +01:00
marcbonnici
565f352114 Merge pull request #439 from setrofim/master
AndroidDevice: adjust APK install timeout to 5min
2017-07-19 10:02:18 +01:00
Sergei Trofimov
920d80ad6e AndroidDevice: adjust APK install timeout to 5min
install_apk() was using the default timeout of 30 seconds, this can
cause problems for some applications on slower targets. Since
installation is expected to be a long-ish operation, there is not reason
for the timeout to be this short.

This commit adjusts the timeout to 5 minutes, which should be a more
reasonable value for most applications. For some apps with particularly
large APKs, this may not be enough, but in those cases, the default
should already be overriden on per-worload bases.
2017-07-19 10:01:00 +01:00
setrofim
9962b413d7 Merge pull request #438 from yln/master
Update docs
2017-07-13 08:08:13 +01:00
setrofim
fdff80a72b Merge pull request #437 from marcbonnici/fire_adobereader
Misc Fixes
2017-07-13 08:06:30 +01:00
Julian Lettner
6cc4626f50 Update docs: $WA_HOME -> $WA_USER_DIRECTORY 2017-07-12 16:02:02 -07:00
setrofim
665d76456b Merge pull request #436 from setrofim/master
utils/android: better error massage when no exit code found
2017-07-12 13:36:09 +01:00
Sergei Trofimov
f4b91b6c9e utils/android: better error massage when no exit code found
Provide the stdout/stderr text as part of the messsage in the
exception raised when no exit code can be identified from the adb
command output.
2017-07-12 13:34:20 +01:00
Marc Bonnici
4730ac2989 AndroidWorkload: Removal of explicit parameter setting
'exact_abi' was being explicitly set without proper checking, however
this should already be taken care of in the supers automagic parameter
setting.
2017-07-12 09:48:03 +01:00
Marc Bonnici
6737fda24e AdobeReader: Removes use of device search button
On amazon fire tablets the search button triggers a custom implemented
search dialog instead of performing a search within the app.
2017-07-12 09:48:03 +01:00