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

106 Commits

Author SHA1 Message Date
Marc Bonnici
1b93a4162b Workload: Updated to use a ParameterDict
In order to pass arguments to the instrumented test via the command line
they need to be encoded, this commit utilises a ParamDict to ensure
parameters are encoded correctly before passing them as arguments.
2017-07-10 11:08:43 +01:00
Marc Bonnici
85218a10d2 Types: Adds ParameterDict Type
Acts like a regular dictionary however will automatically url
encode/decode the data along with relevant type information.
2017-07-10 11:08:43 +01:00
marcbonnici
e884c3bcca Merge pull request #424 from setrofim/agenda-fix
AgendaPaser: fix duplicate source error
2017-06-27 10:46:04 +01:00
marcbonnici
b4363e401c Merge pull request #421 from setrofim/next
types: make enum levels serializable
2017-06-27 10:45:54 +01:00
Sergei Trofimov
d68bc49427 AgendaPaser: fix duplicate source error
When both global and config sections are present in an agenda, they both
will be processed by the ConfigManager. In each case, the path to the
agenda file was specified as the source, which resulted ConfigManager
complaining that the same source is being added twice. To avoid that,
the source is now suffixed with the section name.
2017-06-27 10:03:13 +01:00
Anthony Barbier
5c4aa76622 Fixed several typos in runtime_config.py file 2017-06-27 09:18:34 +01:00
Sergei Trofimov
5b3d7af62e types: make enum levels serializable
Add to/from_pod implementations to level, so that it may be serialized
properly. In order to make sure that serialization is a reversible
operation, ensure that the level value is numeric.
2017-06-26 09:13:30 +01:00
setrofim
399efb8474 Merge pull request #408 from marcbonnici/next_uiauto2
Updated apk workload mechanism and support for uiautomator 2
2017-06-21 08:53:04 +01:00
Marc Bonnici
8cf6051db8 TargetManager: Fixed Typo 2017-06-15 17:49:57 +01:00
Marc Bonnici
ec8d75ef4c TargetManager: Updated to allow failure of onlining cpus
Before performing feature discovery on a device, all cores are attempted to be
onlined, however due to power management on some phones, cores can be immediately
hotplugged out again therefore causing the command to file. This commit now just
logs a message to warn that the online process failed and the information obtained
from a device may be incomplete.
2017-06-15 17:49:57 +01:00
Marc Bonnici
d7dcbcae92 RuntimeConfig: Handle initialisation failure of RT plugin
Previously if one of the runtime parameters failed to initialize it would cause
the the entire setup process to fail. Now if an error is encountered e.g. a core
went offline when trying to read its information, that particular parameter will
be disabled along with it's supported parameters. This means that only if a user
attempts to use the RT parameter will execution be stopped however it will raise
a potentially misleading unsupported parameter error.
2017-06-15 17:49:57 +01:00
Marc Bonnici
279ed6a2c9 Workload: Splits ApkUIWorkload into ApkWorkload
This commit removes the UI elements from ApkUIWorkload to provide a base
ApkWorkload class in order to support workloads that do not require a GUI.
It also remove the `@once` decorator as apk resolution may need to be
run more than once per run.
2017-06-15 17:48:58 +01:00
Marc Bonnici
3662686b3f Core: Misc formatting fixes 2017-06-15 17:44:41 +01:00
Marc Bonnici
e186056182 Workload: Adds workload parameters for APKHandler
Now accepts parameters which can be used to determine which apk is to be used
and to control the apk installation procedure.
2017-06-15 17:44:41 +01:00
Marc Bonnici
8e5fd929e2 Core: Fixes error message for invalid config
Previously only an incorrect error message was generated without actually being
raised.
2017-06-15 17:44:41 +01:00
Marc Bonnici
6571d012c2 BenchmarkPi: Added default package name list 2017-06-15 17:44:41 +01:00
Marc Bonnici
4523fb74b6 Workload: Fixes apk resolution when not present on host.
Previously apk resolution would fail if the application apk was not present on
device as this was used to retrieve information e.g. the package name. To work
around this, the resolution process now supports searching the device for either
a list of package names retrieved from the workload or as a parameter passed by
the user at runtime and if found on the device will be pulled to the host to
perform its analysis.
2017-06-15 17:44:41 +01:00
Marc Bonnici
0c3e1c2526 Workload: Renamed ApkHander to PackageHandler 2017-06-12 14:57:55 +01:00
Marc Bonnici
037f0aac41 Resource: Add support for matching apks on package name 2017-06-12 14:57:55 +01:00
Marc Bonnici
238ae18491 Resource: Added support for uiautomator apks
As uiautomator2 uses apk for instrumented tests this allows for distinguishing
between a normal application apk and a uiauto test apk based on the apks package
name.
2017-06-12 14:57:55 +01:00
Marc Bonnici
c0f5d36b9b PluginCache: Add name to duplicate source error 2017-06-12 14:57:55 +01:00
Marc Bonnici
ef3b80d296 Benchmarkpi: Updated to uiautomator2 2017-06-12 14:57:55 +01:00
Marc Bonnici
b84550d981 Uiautomator: Upgraded uiautomator base classes to Uiauto2
Uiautomator1 has been deprecated, therefore the uiautomation base classes have
been upgraded to use uiautomator2 and the new gradle build system.
2017-06-12 14:57:54 +01:00
Marc Bonnici
b9b237f288 Android Workload: Updated to install and use Uiautomator 2 tests.
The new method of using uiautomation 2 is by using instrumented apk files rather
than JAR files. This commit updates the base workload has been updated to
install/uninstall the new uiautomation APK files and to invoke the relevant
instrumentation.
2017-06-12 14:57:54 +01:00
Sergei Trofimov
f0d5ff2309 utils/trace_cmd: add parsers for more sched events
Added parsers for sched_wakeup(_new) and sched_stat_* events
that have non-standard text.
2017-05-31 10:47:50 +01:00
Sergei Trofimov
8e3ae321a2 trace-cmd: Add parser for text trace.
This re-adds the parser for the trace-cmd text trace, after it got
dropped along with wlauto sub-tree. There are minor differences from the
old WA2 parser.

- Changed to work with devlib start/stop markers
- TraceCmdTrace renamed to TraceCmdParser
- The file path is now passed to the parse() method rather than
  on creation.
- detect whether markers are present in the trace and do not filter
  if they aren't
2017-05-25 11:32:42 +01:00
Sergei Trofimov
ac86304f35 idle: do not attempt to turn off screen on Linux
In the teardown, if screen_off was not set, only ensure that the
screen is on for Android targets.
2017-05-15 10:54:13 +01:00
Sergei Trofimov
f1804300d4 idle: makes sure screen is off if was off before
In the case where the device screen was off prior to the execution of
the workload, but the user did not set screen_off, the screen will be
turned on during the setup. Previously, it would remain on for the
subsequent execution, however the correct behavior is for the workload
to always restore the screen to its previous state.
2017-05-15 10:46:21 +01:00
Sergei Trofimov
e7290c3f14 idle: Add idle workload.
Added a workload that idles on target. For Android targets, there are
options for turning off the screen and/or Android services while idling.
2017-05-15 10:32:36 +01:00
Sergei Trofimov
04253b28c2 Fix typo. 2017-05-12 11:11:40 +01:00
Sergei Trofimov
e68d4fa2d1 trace-cmd: adding an instrument to collect kernel trace
This is the re-implementation of WA2's trace-cmd instrument that
utilizes devlib's ftrace collector. It allows collecting a trace of
kernel events.
2017-05-12 10:42:33 +01:00
Sergei Trofimov
83bf7e1510 plugin_cache: adding missing cfg_points definition 2017-05-12 09:28:59 +01:00
Sergei Trofimov
53d29bf3cf plugin: removing virtual referencies from meta
Remove referencies to "virtual" methods (that no longer exist) from the
plugin metaclass.
2017-05-11 09:57:38 +01:00
Sergei Trofimov
2bbe300dc2 tests: moved out of wa package
Tests now reside in the root of the repo, rather than in wa package.
This means they will no longer packaged and installed in user
deployments (they're only useful for developers).
2017-04-27 17:36:44 +01:00
Sergei Trofimov
6a5dda9bfb wa: removing log import from top-level __init__.py
This import no longer exists. Should be imported from utils instead.
2017-04-27 17:35:42 +01:00
Sergei Trofimov
2dd56990bb tests: removing stale test file
This file was never used (due to being incorrectly named) and contains
references to APIs that no longer exit.
2017-04-27 17:30:21 +01:00
Sergei Trofimov
4f33c98d0b Move misc instrumentation
Moved form a directory into a properly named file.
2017-04-27 09:01:21 +01:00
Sergei Trofimov
d96febb035 Remove execution and runner tests.
That part of the framework has been completely rewritting so the old
tests no longer make sense.
2017-04-27 09:01:20 +01:00
Sergei Trofimov
1b2373f5a5 Fix utils tests
- added missing import to types
- removed tests for TreeNode (no longer exists)
2017-04-27 09:01:20 +01:00
Sergei Trofimov
a147fa3350 Fix Plugin and tests
WA2 Extensions had two features that have proven more trouble then they
are worth, and so they were removed from WA3 Plugins:

- Virtual methods (methods that automatically invoked super's version
  without having to explicitly do that).
- It used to be possible to use strings or tuples to specify parameters
  for extensions, and those were automatically "promoted" to Parameter
  instances by the metaclass. This feature was never actually used.

This commit cleans up residual code for these features from Plugin
implementations and removes tests that used to exercise them.
2017-04-27 09:01:19 +01:00
Sergei Trofimov
b7710b40af tests: fix config tests
- correct the import for merge_config_values fuction
- fixed expected result for set-with-list case; sequence merge will
  produce unique values.
- check that the merge result type matches the other's type
2017-04-27 09:01:18 +01:00
Sergei Trofimov
4d964ccb2f commands: renaming record.py to revent.py
This file contians implementations of both record and replay commands
for revent so the old name was misleading.
2017-04-27 09:01:18 +01:00
Sergei Trofimov
867972f742 removing old files
Removing old and unsused files:

- wa/framework/old_output.py: superseded by output.py in the same dir
- the entire wlauto tree: replaced by wa/ tree; it's stale by now
  anyway.
- log.py and actor.py from framework/ as neither is used.
2017-04-27 09:01:17 +01:00
Sergei Trofimov
0e5f7eb724 tests: update old import from wlauto
exec_control tests were still importing from wlauto rather than wa. This
rectifies that.
2017-04-26 14:27:26 +01:00
Sergei Trofimov
f8d5a3e358 target/descriptor: fix assistant params handling
assistant_params are now handled consistently with the other kinds of
params in TargetDescription, and they are now part of the default config
generated.
2017-04-26 13:56:12 +01:00
setrofim
63b01e29ee Merge pull request #381 from marcbonnici/revent
Revent & Misc Fixes
2017-04-25 10:39:41 +01:00
Marc Bonnici
16a0e84469 Runner: Now finalizes all completed workloads at the end of a run.
Previously when finalizing a run the workloads themselves were not included.
This ensures that each completed workloads finalize method is called.
2017-04-25 10:35:02 +01:00
Marc Bonnici
16f2bc69f0 Replay Command: Added a replay command
The replay command can be used to replay an revent recording on a device.
2017-04-25 10:35:02 +01:00
Marc Bonnici
311ac1b803 Record Command: Updated record command
Updated the record command to allow revent recordings to be made.
They can be performed in 3 ways; the default is a standard recording
as in WA2, it can start a specified package before starting the
recording or a workload can be specified which launches the workload
and prompts the user to record each stage, naming and storing the recordings
appropriately.
2017-04-25 10:35:02 +01:00
Marc Bonnici
3ad0c67c63 AngrybirdsRio: Added revent workload 2017-04-25 10:35:02 +01:00