Marc Bonnici
4bb1f4988f
fw/DatabaseOutput: Only attempt to extract config if avaliable
...
Do not try to parse `kernel_config` if no data is present.
2019-07-19 16:36:11 +01:00
Marc Bonnici
0ff6b4842a
fw/DatabaseOutput: Fix the retrieval of job level artifacts
2019-07-19 16:36:11 +01:00
Marc Bonnici
98b787e326
fw/DatabaseOutput: Enabled retrieving of directory artifacts
...
To provide the same user experience of accessing a directory
artifact from a standard `wa_output` when attempting to retrieve the
path of the artifact extract the stored tar file and extract it to a
temporary location on the host returning the path.
2019-07-19 16:36:11 +01:00
Marc Bonnici
f19ebb79ee
output_processors/postgresql: Add missing system_id
field
...
When storing the `TargetInfo` the `system_id` attribute was ommited.
2019-07-19 16:36:11 +01:00
Marc Bonnici
6aaa28781b
fw/Artifact: Allows adding directories as artifacts
...
Adds a `is_dir` property to an `Artifact` to indicate that the
artifact represents a directory rather than an individual file.
2019-07-19 16:36:11 +01:00
Marc Bonnici
0ec8427d05
fw/output: Implement retriving "augmentations" for JobDatabaseOutput
s
...
Enable retriving augmentations on a per job basis when using a Postgres
database backend.
2019-03-18 15:26:19 +00:00
Marc Bonnici
cf5c3a2723
fw/output: Add missing "augmentation" attribute to JobOutput
...
Add attribute to `JobOutput` to allow easy listing of enabled augmentations
for individual jobs rather than just the overall run level.
2019-03-18 15:26:19 +00:00
Sergei Trofimov
462a5b651a
fw/output: add label property to Metric
...
Add a "label" property to Metric that combines its name with its
classifiers into a single string.
2019-02-05 10:27:06 +00:00
Sergei Trofimov
ed95755af5
fw/output: better classifiers format for metrics
...
Use a dict-like string representation for classifiers, rather than the
default OrderedDict one, which is a lot more verbose and difficult to
read.
2019-01-10 13:03:29 +00:00
Marc Bonnici
72046f5f0b
fw/output: Convert Status
enums to/from POD during (de)serialization
...
Previously the `Status` Enum was converted to a string as part of
serialization however now use the Enum `to_pod` method and make the
respective changes for de-serialization.
2018-12-07 09:55:17 +00:00
Marc Bonnici
0fb8d261fa
fw/output: Add check for schema versions
2018-12-07 09:55:17 +00:00
Marc Bonnici
0fee3debea
fw/output: Implement the Output API for using a database backend
...
Allow for the creating of a RunDatabaseOutput to allow for utilizing WA
output API from run data stored in a postgres database.
2018-12-07 09:55:17 +00:00
Marc Bonnici
e81aaf3421
framework/output: Split out common Output functionality
...
In preparation for the creation of a DatabaseRunOut split out
functionality that can be shared.
2018-12-07 09:55:17 +00:00
Marc Bonnici
1723ac8132
fw/output: Implement Output structures as Podable
...
Ensure that the various Output structures now have serialization
versions.
2018-12-07 08:46:12 +00:00
Marc Bonnici
e0ffd84239
fw/output: Ensure that Event
message is converted to a string
...
Explicitly convert the passed message into a string as this is expected when
generating a event summary, otherwise splitting can fail.
2018-12-04 15:15:47 +00:00
Sergei Trofimov
fd1dd789bf
fw/output: update internal state on write_config()
...
Update the internal _combined_config object with the one that
has been written to ensure that the serialized and run time states are
the same.
2018-07-09 16:00:07 +01:00
Sergei Trofimov
03eafe6b33
framework: pep8 fixes
...
Fix issues reported by flake8.
2018-07-06 14:39:41 +01:00
Sergei Trofimov
f74b7ae78c
framework: fix pylint issues
...
Fix/disable checks for issues reported by pylint under wa/framework.
2018-07-06 14:39:41 +01:00
Sergei Trofimov
8878cc20d4
Update copyright headers.
...
- Add copyright headers to files that did not already have them
- Update the year to the last year the file was modified in files with
existing headers.
2018-07-04 16:33:31 +01:00
Sergei Trofimov
e55f48089b
fw/output: expose metadata
...
Expose result.metadata as a property of the output.
2018-06-29 17:25:29 +01:00
Sergei Trofimov
0f2bd28284
fw/output: record wa/devlib version in output
...
Add wa and devlib versions to RunOutput's metadata on creation. They
already get logged, but this will make them readily accessible to
scripts and output processors.
2018-06-20 10:04:18 +01:00
Sergei Trofimov
b3de85455a
Add support for Python 3
...
Add support for running under Python 3, while maintaining compatibility
with Python 2.
See http://python-future.org/compatible_idioms.html for more details
behind these changes.
2018-06-07 14:48:40 +01:00
Sergei Trofimov
9257a787f9
fw/output: add metadata attribute to Result
...
Metadata is a key-value mapping for arbitrary data, similar to
classifiers. Unlike classifiers, metadata does not directly relate to
the results of the execution, but to the execution itself, and typically
would not be processed by Output Processors in the same way as
classifiers. Metadata can also be a lot more free-form in it's value
structure; while classifier values are simple scalars, metadata values
can be arbitrary POD structures.
2018-05-25 10:21:06 +01:00
Sergei Trofimov
5291e389dc
fw/output: implement __str__ JobOutput
...
Implement a __str__ method for JobOutput to make it easier to format it
into messages.
2018-05-18 17:52:49 +01:00
Sergei Trofimov
79c15ff02f
fw/output: add sensible string representation
...
Add a useful string representation to output classes using class name and
the directory basename.
2018-05-09 16:44:27 +01:00
setrofim
117f0f9fc4
fw/output: add augmentations to RunOutput
...
Add a property that gives augmentations used by all jobs in the run to
RunOutput.
2018-04-03 08:32:11 +01:00
Sergei Trofimov
5b15b115a7
framework/output: add list_workloads to RunOutput
...
Add a convenience method to list which workloads (as per their label)
were involved in a run.
2018-03-16 15:38:09 +00:00
Sergei Trofimov
879dfc7700
framework/output: output fixes
...
- Get events from the result
- Correctly handle pending jobs
2018-03-08 11:18:12 +00:00
Sergei Trofimov
7313ed5cb5
framework/output: load job_specs
...
- Load job_specs from jobsfile on reload of RunOutput
- Attach the corresponding spec to a JobOutput
2018-02-16 13:56:03 +00:00
Sergei Trofimov
03328f0456
framework/output: improve access to config
...
Make it easier to access a run's configuration but automatically
deserializing it on reload of RunOutput, and exposing it via appropriate
settings.
2018-02-16 13:56:03 +00:00
Sergei Trofimov
1e21bd2ca8
framework/output: save classifiers in Result
...
Save classifiers at Result as well as Metric level. Reason: when
processing output, one might want to filter complete results, as well as
individual metrics. While it is in theory possible to get the
classifiers for a job by simply extracting the common classifiers
between all metrics, this fails when there are no metrics generated for
a job (note that one might still want to process the output in this
case, e.g. for the artifacts).
2018-02-16 13:56:03 +00:00
Sergei Trofimov
b1b379982c
framework/output: fix job status
...
After loading (or attempting to load) job output, update the status from
the state, as that will be more accurate.
2018-02-14 11:13:05 +00:00
Sergei Trofimov
c87d016025
framework/output: handle missing/corrupt result files.
...
Do not explode if a result file for a job is missing when loading a
RunOutput. Specify job status as "UNKNOWN" and add the exception from
attempting to load the file to the events.
2018-02-14 11:13:05 +00:00
Marc Bonnici
538cd8d332
wa: Rename results_processors
to output_processors
...
For clarity and to better reflect their purpose, rename
`results_processors` to `output_processors`.
2018-01-15 10:24:03 +00:00
Marc Bonnici
6511db1559
framework/output: Fix RunOutput read_config
...
Fixes trying to deserialize wrong class type.
2018-01-08 10:36:57 +00:00
Sergei Trofimov
d1a42f6e64
framework/output: add discover_wa_outputs
...
Add a function that traverses a directory structure looking for WA
output directory and yielding corresponding RunOutput objects.
2017-12-13 15:55:38 +00:00
Sergei Trofimov
c1319ce8cb
framework/output: load jobs on RunOutput creation
...
Populate RunOutput's jobs attribute with job outputs on its creation.
2017-12-13 15:55:38 +00:00
Sergei Trofimov
4a239790d2
framework/output: add target_info to RunOutput
...
Make TargetInfo an attribute of run output, replacing the read/write
methods for the targetfile. Instead, always load it on creation, if
targetfile exists (useful for external scripts), and have a method to
set it after creation (uselful during WA run, where the output is
created before connecting to the target).
2017-12-13 15:55:38 +00:00
Brendan Jackman
b05b0a2e4f
framework/output: Whitespace
2017-12-07 15:37:49 +00:00
Brendan Jackman
b5ac669994
framework/output: Fix checking artifact kind
...
Don't construct an ArtifactType in Output.Add_artifact, the Artifact
class does that for us.
Next, fix the use of a nonexistent attribute Artifact.valid_kinds
2017-12-07 15:37:49 +00:00
Brendan Jackman
6fc247a8fd
framework/output: Calm pylint
2017-12-07 15:37:49 +00:00
Brendan Jackman
81d4587da3
framework/output: Whitespace
2017-12-07 15:37:49 +00:00
Brendan Jackman
aa2abd16a3
Run autoflake to remove unused imports & variables
2017-12-07 15:37:49 +00:00
Sergei Trofimov
82b0b238c2
framework/output: add accessors for metrics and artifacts
...
- Add get_metric methods to Result and Output
- Add metrics and artifacts properties to Output
2017-09-27 10:32:19 +01:00
Sergei Trofimov
18e7ffb826
workload: adding basic UIAutomator workload implementation
...
Added a workload type to handle workloads that have both an APK with an
application and associated automation JAR. Added benchmarkpi
implementation using using the new workload.
2017-03-29 09:55:40 +01:00
Sergei Trofimov
4006e998c2
output: fix JobOutput instantiation
...
iteration and label parameters were being passed in the wrong order when
instantiating JobOutput.
2017-03-29 09:53:27 +01:00
Sergei Trofimov
9c091f5339
Misc minor fixes.
2017-03-22 15:17:14 +00:00
Sergei Trofimov
31a5e5b5fe
Implment output processing
...
- Implemented result processor infrastructured
- Corrected some status tracking issues (differed between states
and output).
- Added "csv" and "status" result processors (these will be the default
enabled).
2017-03-22 15:14:44 +00:00
Sergei Trofimov
24402660c4
Initial implementation of state tracking and output handling.
2017-03-17 09:15:43 +00:00
Sergei Trofimov
ccdc3492e7
Handle retry failed
2017-03-15 14:34:31 +00:00