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
Marc Bonnici
c3ddb31d4d
fw/entrypoint: Fix help information for '--help' argument
...
In a previous commit we filtered parameters so that '-h' is never passed
to 'parse_known_commands' to ensure our own custom help message is displayed,
now also filter for '--help' for the same reason.
2018-06-07 11:04:29 +01:00
Marc Bonnici
6d9ae419c2
framework/signal: Remove JOB_FINALIZED signal
...
Remove the currenlty unused JOB_FINALIZED signal as we already have a
WORKLOAD_FINALIZED signal.
2018-06-06 08:38:54 +01:00
Marc Bonnici
baf570fc62
fw/signal: Rename and implement signal for RUN_OUTPUT_PROCESSED
...
Rename the OVERALL_RESULTS_PROCESSING signal to be called
RUN_OUTPUT_PROCESSED and provide implementation.
2018-06-06 08:38:54 +01:00
Marc Bonnici
b15b937863
fw/parsers: Ensure that a section is a valid dict
...
Ensure that all section entries are valid dicts otherwise raise an error
informing the user.
2018-06-05 17:54:34 +01:00
Sergei Trofimov
aee8b10f26
doc/delay: fix warning.
...
Add space between a note admonition and the preceding paragraph.
2018-06-01 17:18:43 +01:00
Marc Bonnici
2cd355195f
fw/rt_config: Fix validation checks
...
Remove unnecessary validation checks and fix remaining so they don't fail
under certain combinations of parameters.
2018-06-01 15:33:10 +01:00
Marc Bonnici
9035c654bd
fw/rt_config: Allow for auto determine 'max' and 'min' for other freqs
...
Allow users to specify 'max' and 'min' for the maximum and minimum
frequencies to be set for a cpu as well as the current frequency.
2018-06-01 15:33:10 +01:00
Marc Bonnici
e1518e8c5d
fw/rt_config: Refactor and fix method calls to resolve 'max'/'min'
...
Previously incorrect method calls were used to try and convert 'max' and
'min' into their corresponding frequencies, now call the correct methods
and refactor the conversion into a separate method.
2018-06-01 15:33:10 +01:00
Sergei Trofimov
ee3c01418f
fw/execution: fix get_resource with strict=False
...
If strict=False, resolver.get_resource will return None, rather
than raising NotFoundError. Do not attempt to record the md5 hash in
that case.
2018-06-01 14:01:57 +01:00
Marc Bonnici
ba717bbcd1
instrument/delay: Remove breakpoint
2018-05-30 12:25:58 +01:00
Marc Bonnici
b14c3d8868
framework/instrument: Fix lefover references to instrument proiorities
...
Update instrument proiorities to use signal proiorities instead.
2018-05-30 12:23:15 +01:00
Marc Bonnici
703e32e511
framework/signals: Remove unnecessary job signals
...
Remove overlap of signals between jobs and workload.
2018-05-30 12:23:15 +01:00
Marc Bonnici
ceadb36880
instruments/delay: Port instrument to WA3
...
Port the delay instrument to WA3.
2018-05-30 12:22:46 +01:00
Sergei Trofimov
864ded60ae
fw/instrument: use signal priorities
...
Use signal priorities to define priority decorators, rather than
defining own priority enum.
2018-05-30 12:02:28 +01:00
Sergei Trofimov
d79e8324f0
fw/signal: use enum to define priorities
...
Use an enum rather than a random class to define the priority levels
for the signals.
2018-05-30 12:02:28 +01:00
Sergei Trofimov
42bae98d50
fw/instrument: remove commented code
...
Remove the commented out mappings from WA2.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
673b61342d
fw/instrument: add mappings for job/run signals
...
Add missing mappings for job and run signals.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
2cad2dbb10
fw/execution: implement abnormal job status signals
...
Implement signals for failed/aborted jobs.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
e90b12e984
fw/instrument: add job output mappings
...
Add method name mappings for JOB_OUTPUT_PROCESSED signals.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
b593b7ed59
fw/execution: wrap processors' process_job_output.
...
Modify execution so that output processors' process_job_output() (but
not export_job_output()) is wrapped by the JOB_OUTPUT_PROCESSED signals.
This makes sense conceptually, and is more useful in practice, as there
are already WORKLOAD_RESULT_EXTRACTION and WORKLOAD_OUTPUT_UPDATE
signals sent by the job, if it's desirable to run before output
processors, but after the job results have been collected.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
43d047eeb5
fw: implement reboot signals
...
- Wire up reboot signals via the TargetManager
- Add instrument mappings for the same.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
3a6fcd688e
fw/signal: rename "boot" to "reboot"
...
Rename "boot" signals to "reboot", as it would more accurately reflect
how they are used.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
9f36d543e1
fw/instrument: Add log signal maps
...
Add method name mappings for ERROR_LOGGED and WARNING_LOGGED signals.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
573c6abcb5
fw/signal: add job signals
...
Add matched signals for before-after job execution. These are the
equivalent of "spec" signals in WA2.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
18bf314592
doc: fix missing reference to daq_setup
...
Since daq-server has been split out into a separate package, daq setup
is no longer part of WA documentation. This resulted in a warning when
building the docs.
2018-05-25 15:27:14 +01:00
Sergei Trofimov
a865d8f30c
utils/serializer: add cpu_mask to POD types
2018-05-25 15:27:14 +01:00
Sergei Trofimov
ec9605603e
workloads/openssl: save binary's hash and version
...
Store the hash and the version of the openssl executable used by the
workload in the result metadata.
2018-05-25 10:21:06 +01:00
Sergei Trofimov
2ff06af632
fw/execution: record resource hashes in metadata
...
As part of resolving a resource, record its MD5 hash in the output
metadata. In order to enable this, resource resolution is now done via
the context, rather than directly via the ResourceResolver (in order not
to introduce a context dependency in the Gui object, context now
emulates the resolver interface).
2018-05-25 10:21:06 +01:00
Sergei Trofimov
79141582e9
fw/workload: record app version in metadata
...
Add the package version for an ApkWorkload to the metadata for that job.
2018-05-25 10:21:06 +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
4cc5aec39a
utils/serializer: make is_pod() recursive
...
If the object being passed into is_pod() is iterable (and not a
string), recursively check that its elements are also PODs.
2018-05-25 10:21:06 +01:00
Marc Bonnici
86ba51be72
framework/execution: Implement each_spec
reboot policy
...
Implement the `each_spec` reboot policy so that the device will be
rebooted if the spec has changed.
2018-05-25 10:02:17 +01:00
Marc Bonnici
f13e3adf99
framework/execution: Fix previous/next job
...
The next and previous job attribute implementations of context were
swapped.
2018-05-25 10:02:17 +01:00
Marc Bonnici
d6e9e503fa
framework/execution: Allow for retrying the intial reboot
...
If the device is to perform an initial reboot, allow up to `max_retries`
from the run configuration for the reboot to succeed and add logging to
inform the user.
2018-05-25 10:02:17 +01:00
Marc Bonnici
8654fcfc30
framework/execution: Treat reboot as part of job allowing retires
...
Treat the optional reboot of the device as part of the job itself so that
if the reboot fails it will be retried in accordance to the job
configuration.
2018-05-25 10:02:17 +01:00
Marc Bonnici
4a427f830b
framework/execution: Move start/stop calls to the TargetManager to Runner
...
Instead of starting and stopping the target from inside the Context,
move the calls to the Runner. This allows for the any initilizaton
errors to be dealt with as part of the job and retried as
appropriate.
2018-05-25 10:02:17 +01:00
Marc Bonnici
c3e4bdc964
config/core: Re-add by_spec
reboot policy
...
The `by_spec` reboot policy was removed in commit
0a549bd28e01a800566e9ad05a9420e1e4db3adc however this is still
desirable so re-add.
2018-05-25 10:02:17 +01:00
Sergei Trofimov
23946620d6
fw/job: add missing log indents
...
Add "with indentcontext():" to Job stages that were missing them.
2018-05-24 17:44:03 +01:00
Marc Bonnici
c338962c48
utils/doc: Add missing newline when generating aliases docs
...
Ensure when extracting aliases documentation it is followed by 2
newlines so that it formats correctly.
2018-05-24 16:57:47 +01:00
Marc Bonnici
03e5c6c0af
framework/pluginloader: Make sure to also clear aliases
...
When 'clearing' the pluginloader previously any aliases already
discovered were not removed, now ensure all discovered items are
removed.
2018-05-24 16:57:47 +01:00
Marc Bonnici
30f856abe0
framework/execution: Only add screenshots as an artifact if present
...
When attempting to take a screenshot from a device do not try to add it
as an artifact if screenshot failed and is not present.
2018-05-24 11:49:10 +01:00
Marc Bonnici
c3854e89c7
framework/host: Fix Typo
2018-05-24 11:49:10 +01:00
Marc Bonnici
e008134145
framework/host: Add missing defaults for agenda conversion
...
Ensure that defaults are correctly populated when converting a WA2 agenda
to the WA3 style.
2018-05-24 11:49:10 +01:00
Marc Bonnici
6cb7031713
wa/misc: Fix format_duration() to handle missing time
...
If a run is interrupted this can cause the time to be `None` causing an
error, if this is the case then set time to 0 and therefore return `N/A`.
2018-05-24 11:49:10 +01:00
Marc Bonnici
f49dfeac70
config/core: Remove JobGenerator unused sections
attribute
...
Remove the used attribute `sections` from the JobGenerator
2018-05-24 11:49:10 +01:00
Marc Bonnici
614a590b35
utils/counters: Remove duplicated counter
...
The implementation of the `counter` was duplicated in both
`wa.utils.counters` and `wa.utils.types.counter` the latter of which is
currently unsed, therefore port missing functionality to the former and
remove.
2018-05-24 11:49:10 +01:00
Marc Bonnici
a13e205280
fw/configuration: Allow for numerical ids to be used
...
Previously WA would fail if a purely numerical id was used, now
explicitly convert the id to a string before use.
2018-05-24 11:49:10 +01:00
Marc Bonnici
2abfe68b07
fw/parsers: Raise error if no workload is specified
...
Ensure that an error is raised if no workload name is specified in an
agenda.
2018-05-24 11:49:10 +01:00
Sergei Trofimov
ffdb6235c9
workloads: add openssl
...
Add a workload that runs openssl's speed command to benchmark the
performance of various openssl algorithms.
2018-05-23 14:51:54 +01:00