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

697 Commits

Author SHA1 Message Date
Joe Savage
6cc1ac147c framework/workload: Add rerun infrastructure 2018-06-18 10:51:32 +01:00
Sergei Trofimov
dfa55c1322 commands/list: add "augmentations" and "all"
Allow specifying "augmentations" and "all" as the plugin kind to lost.
In the case of of the former, instruments and output processors get
listed. In the case of the latter, every plugin kind gets listed.
2018-06-15 12:09:23 +01:00
Sergei Trofimov
bab5f89283 commands/list: add blank line at the end 2018-06-15 12:09:23 +01:00
Sergei Trofimov
21784d1351 command/process: write job_output result
Write job_output result to make sure the serialized version gets
updated.
2018-06-15 10:53:32 +01:00
Sergei Trofimov
bcbde9a197 fw/entrypoint: log devlib version
Log devlib version alongside WA version.
2018-06-15 08:58:39 +01:00
Sergei Trofimov
26c38d3ae3 Implement PEP396
Add __version__, as per PEP396. Additionally, add __full_version__ which
contains the get commit ID, if available.
2018-06-15 08:58:39 +01:00
scott
ce6ea663a3 Youtube: Updating to reflect changes in accessing options menu 2018-06-14 15:08:09 +01:00
Waleed El-Geresy
488bd57659 framework/version: Redirect git stderr output
Add an stderr argument to redirect errors ('fatal not a git repository'
is the most common) to PIPE so that errors do not output to STDOUT.
2018-06-14 15:07:18 +01:00
Waleed El-Geresy
71a32dd724 framework/command: Fix subparsers in Python3
Make subcommands required arguments in the ComplexCommand class, which
is used by the 'wa create' command.
2018-06-14 15:06:50 +01:00
Sergei Trofimov
6ee40c2170 utils/types: implement __ne__ for level
This should have been handled by the @total_ordering decorator, but
isn't due to

        https://bugs.python.org/issue25732

(briefly, total_ordering is back-ported from Python 3, where the base
object provides the default implementation of __ne__ based on __eq__, so
total_ordering did not override it; this, however does not happen in
Python 2).

Also update unit tests to catch this edge case.
2018-06-14 15:04:56 +01:00
Sergei Trofimov
64f9cf79e4 utils/diff: fix diff_interrupt_files on Python 2
During Python 3 migration, the izip call inside diff_interrupt_files has
been replaced with a zip call (zip returning an iterator in Python 3).
Import zip from builtins to ensure that it also produces an iterator in
Python 2.

Also fix the associated unit test by importing the correct function.
2018-06-14 15:04:56 +01:00
Sergei Trofimov
d64ab6f099 workloads: add deepbench
Add automation for Baidu's DeepBench benchmark for deep learning
operations.
2018-06-14 12:31:43 +01:00
Waleed El-Geresy
7470fb5ee9 Add target-params to Platform Tuple
Added support for specifying target parameters in the Platform tuple.
2018-06-14 12:06:33 +01:00
Sascha Bischoff
7fb85261da instruments/serialmon: Add an instrument to monitor serial traffic
This instrument will log serial traffic to a file. The idea is to
assist with debugging development boards, as otherwise there is a
chance that crash reports, for example, are lost when the device is
reset by WA.

It logs the pre-run and post-run traffic to preamble_serial.log and
postamble_serial.log , respectively, in the top-level output
directory. Serial logs for each workload are stored in the appropriate
workload directory as serial.log.

As we are tying up the serial port, we stop the logging when the
device is reset to allow board such as the Arm Juno to be reset via
the serial connection.
2018-06-13 14:36:46 +01:00
Sergei Trofimov
0ca29bb337 fw/entrypoint: make command mandatory for Python 3
Python 3 has changed the behavior of subparsers so that they are no
longer mandatory by default. As a result, executing just "wa" under
Python 3 results in a random error, rather than a help message.

Fix this by making the subparsers mandatory.
2018-06-13 11:08:18 +01:00
scott
503005ba5f Googleplaybooks: Adding support for night reading dialogues.
Certain devices present a night time reading popup alert when opening the books workload.
This can throw off the workload so I've added a function to check for this and dismiss if neccessary.
2018-06-12 22:54:43 +01:00
Sergei Trofimov
2cb1f47e11 fw/exec: pass context to run started/completed signals
To be consistent with the rest of exec signals.
2018-06-12 16:07:53 +01:00
Sergei Trofimov
ea97372ece fw/exec: add JOB_QUEUE_EXECUTION signals
Add signals just before and just after commencing the execution of the
job queue.
2018-06-12 16:07:53 +01:00
Sergei Trofimov
5f7fde206d fw/instrument: add hostside decorator
Add a decorator to indicate that a callback runs entirely host-side and
does not rely on a connection to the target. This  means it will be
invoked even if the target was detected to be unresponsive.
2018-06-12 16:07:53 +01:00
Sergei Trofimov
2f99137ad5 fw/target: fix signals reboot on unresponsive
- Add "hard" parameter to TargetManager's reboot().
- Pass in context to TargetManager's reboot() and
  verify_target_responsive() -- this is needed for signal dispatch.
- Call self.reboot() instead of self.target.reboot() when attempting a
  reset for unresponsive targets inside TargetManager, in order to
  ensure that appropriate signals are dispatched.
2018-06-12 16:07:53 +01:00
Sergei Trofimov
e816980471 fw/execution: add missing sender in signal
Add the missing sender for RUN_OUTPUT_PROCESSED signal wrap call.
2018-06-12 16:07:53 +01:00
Sergei Trofimov
c4838b4021 utils/serializer: add basestring to POD_TYPES
Was replaced with str during Python 3 porting.
2018-06-12 13:30:39 +01:00
Sergei Trofimov
657a10c09d utils/serializer: fix level deserialization
Fix a regression introduced with Python 3 port -- JSON deserializer
should check for basestring rather than str when deciding whether to try
to decode a custom type.
2018-06-12 13:27:19 +01:00
Sascha Bischoff
b6531feb52 framework/instrument: Fix typo for on_job_failure 2018-06-11 15:59:53 +01:00
Marc Bonnici
1879dd62f1 fw/core: Fix description of 'label' CongfigPoint
Update reference of result processors to output processors.
2018-06-11 08:10:07 +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
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