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

973 Commits

Author SHA1 Message Date
Marc Bonnici
b42a6a67af Gmail: Port Gmail Workload from WA2 2017-11-28 08:12:31 +00:00
Marc Bonnici
0786c25db5 GooglePlayBooks: Add support for applaunch 2017-11-28 08:12:31 +00:00
Marc Bonnici
247650141b GooglePhotos: Add support for applaunch 2017-11-28 08:12:31 +00:00
Marc Bonnici
e61ba8ed84 AdobeReader: Add support for Applaunch 2017-11-28 08:12:31 +00:00
Marc Bonnici
9f8cf2a40e Applaunch: Port workload from WA2
The report_results parameter has been removed as the parsing functionality
is now performed by the `uxperf` processor therefore to report the
results of the application launch time ensure the processor has been
enabled.
2017-11-28 08:12:31 +00:00
Marc Bonnici
6cc4021017 Framework/Uiauto: Add support for Applaunch 2017-11-28 08:12:31 +00:00
Marc Bonnici
ac5741136d Framework/Workload: Fix super propagation.
Previously super calls were not being propagated correctly so either
call the relevant super or remove the empty methods.
2017-11-28 08:12:31 +00:00
Marc Bonnici
74347b9e67 Framework/Workload: Change condition for pushing assets
Changes from checking if there are deployable assets to checking for
discovered assets. This allows for automated pushing of assets without
invoking the resource getters, for example pre discovered files.
2017-11-28 08:12:31 +00:00
Marc Bonnici
30da77a1cf Framework: Moved resource deployment to base workload 2017-11-28 08:12:31 +00:00
Marc Bonnici
bc5b43df30 Utils/Android: Fix missing space in check
Logcat entries are split on a ':' followed by a space so ensure this
is present in the line instead of just a ':'. Some devices have entires
without the trailing space causing an error.
2017-11-24 16:38:01 +00:00
Sergei Trofimov
d7da24eb52 framework/config: fix section-level workload args
create a copy of the args dict before popping args off of it to make
sure it is intact when the next job is processed.
2017-11-24 16:35:07 +00:00
Sergei Trofimov
4201193ffc processors/csv: fix artifact writing
Rename loop variable inside _write_outputs so that it doesn't clash with
the argument that gets passed (this resulted in writing to the wrong
location when writing a run artifact from a job).
2017-11-24 16:35:07 +00:00
Sergei Trofimov
76e220bb0b processors: add uxperf
Add a simplified version of the uxperf processor. This version only
extracts and calculates durations of UX_PERF sections from logcat.
Currently, this does not correlate them agains frames/fps data.
2017-11-24 14:30:09 +00:00
Sergei Trofimov
9a15b82997 framework/job: do not extract workload results on failure
Now that job output processing happens even on failure, this will result
in workload result processing also being triggered. We should not try to
extract failed workload results, so check the job status before
attempting to do so.
2017-11-24 14:30:09 +00:00
Sergei Trofimov
45d8be5228 framework/execution: ensure output is always processed
Ensure that job output is processed even if a workload fails. This is
because output processing includes things like extracting logs, which
we still want to happen on failure.

Job status is now also set correctly when an error occurs during output
processing rather than actual running of the workload. Previously, the
status would be correctly set to PARTIAL in the inner except clause,
but the exception is then re-raised, and the status was "upgraded" to
FAILED in the outer except clause.
2017-11-24 14:30:09 +00:00
Sergei Trofimov
39e63f1358 utils/android: add a parser for Logcat
Add a simple streaming parser for Logcat logs. At the moment, only the
recent logcat format is supported.
2017-11-24 14:30:09 +00:00
Sergei Trofimov
7cd2982b31 workloads/uxperf: change message format
Do not concatenate start/stop markers to the action string with a '_',
delimit them with a space instead. This will make easier to parse the
message afterwards.
2017-11-24 14:30:09 +00:00
Sergei Trofimov
20f10f51e2 dev_scripts: add rebuild_all_uiauto
Add a script to rebuild UIAutomator APKs for all workloads that have
them. This is usefull to ensure they all use the latest uiauto.arr after
making changes to it.
2017-11-24 14:30:09 +00:00
Marc Bonnici
2611579d29 Framework/Workload: Fix typo 2017-11-23 17:49:30 +00:00
Marc Bonnici
e9ae08e00b Framework/Workload: Utilize package_names during package resolution
Iterate through available package names when resolving an apk file from
the host.
2017-11-23 17:49:30 +00:00
Marc Bonnici
ff529462e0 Framework/Workload: Require package name for package resolution
Mandate that either a package name is specified or the owner defines
supported package names. This prevents any apk file in the correct
location incorrectly being resolved.
2017-11-23 17:49:30 +00:00
Sergei Trofimov
49eb40fec7 framework/workload: add markers_enabled param for uiauto workloads
Some workloads can insert timestamped markers into the logs if this
parameter is enabled in their automation. These markers can then be
used to look at measurements for specific parts of the execution.
2017-11-22 09:22:21 +00:00
Sergei Trofimov
73a530917a framework/workload: fix asset_files and deployed_assets
These two lists are updated by workloads as assets are discovered and
deployed. As these are defined as class attributes in the base Workload
class, the same two list instances are shared between all classes. This
results in subsequent workloads re-deploying assets from the previous
workloads, and may lead to mismatches with deployable_assets, which is
overwritten on per-workload basis.

Make these into instance attriutes to prevent these issues.
2017-11-22 09:22:21 +00:00
Sergei Trofimov
652f107d10 framework/workload: fix class attribute docs
Change from free-floating strings into comments and move above the
corresponding attribute.
2017-11-22 09:22:21 +00:00
Quentin Perret
be18157223 framework/target: wait 20 sec for network to show up
Some targets need more than 5 seconds to re-connect to a wifi network
after disabling airplane mode. To fix that, poll for network up to 20
seconds and show a warning if unreachable.
2017-11-17 07:53:16 +00:00
Marc Bonnici
8a913639bd Framework/Workload: Fix call to deploy assets 2017-11-15 15:59:27 +00:00
Marc Bonnici
612646606d GoogleSlides: Ported workload from WA2 2017-11-15 14:47:36 +00:00
Marc Bonnici
1f5a34b9a8 Framework/Uiautomator: Adds Ui Swipe functions 2017-11-15 14:47:36 +00:00
Marc Bonnici
7aa50779e6 GooglePlayPhotos: Ported workload from WA 2017-11-15 14:47:36 +00:00
Marc Bonnici
23bcadd750 Uiauto/BaseUiAutomation: Add helper function to select gallery folder 2017-11-15 14:47:36 +00:00
Marc Bonnici
57677e7e6c GooglePlayBooks: Ported workload from WA2 2017-11-15 14:47:36 +00:00
Marc Bonnici
d3a2242dd3 Framework/Workload: Fix incorrect error message being reported 2017-11-15 14:47:36 +00:00
Marc Bonnici
a289a21cbc Framework/RuntimeConfig: Fix crash if no idle states available. 2017-11-15 14:47:36 +00:00
Marc Bonnici
af3dda1b28 AdobeReader: Ported workload from WA2 2017-11-15 14:47:36 +00:00
Marc Bonnici
4e3a30b515 AndroidTarget: Ensure permissions are granted for installed application
Upon clearing data of a previously installed application the runtime
permissions can also be cleared, to avoid having to reinstall the
application all available permissions are explicitly granted to the
required application.
2017-11-15 14:47:36 +00:00
Marc Bonnici
c332715e4a Workload: Adds support for deploying/cleanup of additional assets
Allows for automatically pushing a set of arbitrary assets to the device
during initialization and adds a parameter to specify whether the assets should
be removed again at the end of the run.
2017-11-15 14:47:36 +00:00
Marc Bonnici
496c3ef021 Framework/Uiauto: Adds UxPerfUiAutomation related functionality
Adds various methods that are used in UxPerf workloads and additional
helper class for UxPerf specific functions.

Adds a class to contain UxPerf specific functions.
2017-11-15 14:47:36 +00:00
marcbonnici
9c74e07ccc
Merge pull request #538 from setrofim/next
framework/entrypoint: fix joined options parsing.
2017-11-08 10:01:03 +00:00
Sergei Trofimov
bd23202dca framework/entrypoint: fix joined options parsing.
In order to properly enable verbose logging for plugin enumeration,
verbosity option must be extracted before commands are processed, and
therefore before all valid arguments are known.

ArgumentParser.parse_known_args() is used for this, which will collect
all unexpected arguments into an "extras" list, rather than raising an
error. This, however, has an outstanding bug, where if say option '-v'
is known and '-f is unknown, args '-v -f' will be parsed correctly (with
'-f' being collected into extras), but '-vf' will not, resulting in an
error.

To get around this, pre-process sys.argv to detect joined options and
manually split them into separate args.
2017-11-07 17:23:26 +00:00
marcbonnici
ea47748c89
Merge pull request #537 from bjackman/csvproc-fix
Csvproc fix
2017-11-07 09:04:14 +00:00
Brendan Jackman
61f4656bf9 csvproc: Fix process_run_output
We currently populate results_so_far with a JobOutput for each Job and then a
Result for the RunOutput. This results in a bug when trying to access the
id/label/iteration.

This is fixed by always ensuring the we store Output objects and not
Results (results_so_far is renamed to outputs_so_far to reflect this), and
treating the RunOutput specially in _write_outputs.
2017-11-06 18:21:26 +00:00
Brendan Jackman
068ab9559d framework/command: Fix help string for --config cmdline argument 2017-11-06 16:41:01 +00:00
Brendan Jackman
c8fb995eca framework/command: Whitespace 2017-11-06 16:41:01 +00:00
Brendan Jackman
2cd0c1a3f1 framework/config: Fix JobSpec.from_pod 2017-11-06 16:11:54 +00:00
Sergei Trofimov
95e9d14f9d framework/resource: clearer file and exe strings
Update the File and Executable resource string representations to
actually include the words "file" and "executable" respectively to make
messages containing these representations (e.g. when a resource is not
found) clearer.
2017-11-03 17:33:54 +00:00
Sergei Trofimov
00d1d3d318 commands/run: update "--disable" option
--diable can now be used to disable both intruments and
result_processors from the command line (overriding configuration
files). Rename variable names to reflect this.
2017-11-03 17:33:32 +00:00
Sergei Trofimov
836ba1505f framework/config: properly update augmentations inside JobGenerator
Replace update_enabled_instruments with update_augmentations, which
correctly splits instruments and results processors from augmentations
configuration values.

While instruments and processors are now handled uniformly in
configuration, they still need to be handled differently during actual
execution. This is the point where they get split again.
2017-11-03 17:33:32 +00:00
Sergei Trofimov
e3d74fcd21 framework/config: fix augmentations merging
Remllace merge_instruments_result_processors with merge_agumentations
which is updated to properly merge the new unified "augmentations"
configurations.
2017-11-03 17:33:32 +00:00
Sergei Trofimov
4f8bd00fe2 framework/config: add eanbled processor tracking to JobGenerator
Add attributes for tracking enabled processors to JobGenerator (similiar
to what already exists for instruments).
2017-11-03 17:33:32 +00:00
Sergei Trofimov
337c5e5e1d framework/config: rename instrumenation --> augmentations
Rename ConfigurationPoint "instrumenation" to "augmentations". Unlike
WA2, in W3, instruments and result_porcessors are handled identically in
configuration (though there're still distinct pulgin types).
"instrumentation" and "result_porcessors" entries in configuration are
now aliases for the same configuration point, which is renamed to
"augmentations" to reflect the fact that it contains both types of
plugins.
2017-11-03 17:33:32 +00:00