1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-06-27 02:33:26 +01:00
Commit Graph

539 Commits

Author SHA1 Message Date
42539bbe0d New target description + moving target stuff under "framework"
Changing the way target descriptions work from a static mapping to
something that is dynamically generated and is extensible via plugins.
Also moving core target implementation stuff under "framework".
2017-03-06 11:10:25 +00:00
18d001fd76 Instrument intialization, job generation + bits 2017-02-22 08:50:15 +00:00
390e9ca78a Generating jobs. 2017-02-22 08:50:15 +00:00
9cfa4e7f51 Properly initialize output directory and run state 2017-02-22 08:50:15 +00:00
3d8503b056 Fixed run command to the point of invoking the Executor 2017-02-22 08:50:15 +00:00
dc6d9676f2 Fixing things up to a point where "list" and "show" commands work. 2017-02-22 08:50:15 +00:00
214d04eb8d Decorators: Added initial version of decorators and execution control
Added 3 decorators to enabled methods to be executed conditionally:
- Once for each method instance.
- Once for each class.
- Only once per environment including any derived classes.
Added execution control allowing for different environments to
be used in order to determine how often decorated commands should be ran.
Added relevant unittests for the above decorators.
2016-11-30 10:42:14 +00:00
467347d5a3 Removed unused imports + print 2016-09-27 11:42:46 +01:00
97d822c2b7 Configuration: Added a new module for generating the default config file
This commit also adds a missing scription to the `csv` result processor
2016-09-27 11:39:50 +01:00
1ad0079dcf Plugin: Remove depricated and unecessary code
Removed old code that has since been replaced by new implementations
or is no longer needed.
2016-09-27 11:39:49 +01:00
71f3467dc8 Configuration: Removed merge_using_priority_specificity
This had moved to now be done by plugin cache so it has been removed
from wlauto.core.configuration.configuration and any referenced to it
have been changed to use plugin cache instead.
2016-09-27 11:39:49 +01:00
d7106acc42 Configuration: Made parameter lists public
Renamed `__configuration` to `config_points` and in the case of
RunConfiguration it was split into `config_points` and `meta_data`
where `meta_data` contains config points for run meta data like
project name/stage ect.
2016-09-27 11:39:49 +01:00
9905bb3162 ConfigurationPoints: Added check that default values are POD's
Default config values will now need to be a Plain Old Data type.
This commit includes some ultility functions to help with this check
2016-09-27 11:39:49 +01:00
d6735db364 init_argument_parser: Changed action for -c to append
WA2 only supported a single config file but the way WA3's configuration
parser works there can be as many and the user needs. They will be prioritied
in the order they are specified. e.g in `wa run agenda.yaml -c 1.yaml -c 2.yaml`
`1.yaml` will be applied first and `2.yaml` will be applied on top of that.
2016-09-27 11:39:49 +01:00
4e2ca6ce8c cli: Removed wlauto.utils.cli
Having the base arguments in wlauto.core.command make more sense
and wlauto.utils.cli didnt contain anything else.
2016-09-27 11:39:47 +01:00
1bee34e6bc ConfigParser: Added the ability to not wrap exception messages for ConfigParser
Both AgendaParser and ConfigParsers wrap exceptions with a a message
saying what source of configuration caused the exception. AgendaParser
uses ConfigParser within its load method, this leads to the "Error in foo"
message appearing twice. This lets AgendaParser turn of the wrapping
in ConfigParser
2016-09-27 11:38:35 +01:00
e95ba608ec Configuration: Added global_aliase
Previously `aliases` was conflated with global_aliases. This commit
fixes this.

`global_alias`'s are a name that can be used in top level configuration
and set the values of one or more plugin parameters that use the same
global_alias.

`aliases` is a list of alternative names for a configuration point.
Currently this is only used for instrumentation/instruments and
workload_name/name but in the future it will likely be used when
parameters have to be renamed to be more meaningful but still
maintain backward compatibility.
2016-09-27 11:38:35 +01:00
9e6badbdf4 Completed some todos: - Added a dependencies_directory property to WAConfiguration - Added allowed values and better descriptions to configuration points. 2016-09-27 11:38:35 +01:00
87ee7b1337 Moved iteration status list 2016-09-27 11:38:35 +01:00
a347ea7d61 Misc fixes & improvements 2016-09-27 11:38:35 +01:00
49576e5701 Improved _resolve_params_alias 2016-09-27 11:38:35 +01:00
46fe4a1140 Fixed _construct_valid entry 2016-09-27 11:38:35 +01:00
b35c7f66bd ConfigParser: Plugin cache now handles plugin & generic config as well as global alias resolution 2016-09-27 11:38:35 +01:00
dde34177e2 DeviceManager: Updated to use new RuntimeParameters 2016-09-27 11:38:35 +01:00
4a33fa9ffc Moved KIND_MAP checks and definition 2016-09-27 11:38:35 +01:00
06e95abc78 Implemented Plugin Cache + its unit tests 2016-09-27 11:38:34 +01:00
c02c6cbceb Runtime Parameters: WIP - replace me 2016-09-27 11:38:34 +01:00
9046ddb15d Unit tests 2016-09-27 11:38:34 +01:00
9416888361 AgendaParser: Split up repeated code into functions + fixes discovered by unit tests 2016-09-27 11:38:34 +01:00
3be1d1202c AgendaParser: Various fixes
- Fixed merge_result_processors_instruments not merging result_processors
 - Made AgendaParser have the same load/load_from_path interface as ConfigParser
 - Removed source from error messages because its already predended when caught
 - AgendaParser no longer needs to be passed a ConfigParser, it makes its own instance
 - Changed quote style from "Error in {}" message to match other errors
2016-09-27 11:38:34 +01:00
55c4ed8c56 Stub plugin cache 2016-09-27 11:38:34 +01:00
55fa709335 misc 2016-09-27 11:38:18 +01:00
53a9f2336e Mostly implemented JobSpec and JobGenerator 2016-09-27 11:20:12 +01:00
bd6092728d RunConfiguration: Various improvements
- Removed `output_directory` ConfigurationPoint, it should be set and passed
  by whatever instanstiates RunConfiguration.
- Made `device` a mandatory configuration point.
- Added serialization
- Now handles merging specific and generic config
`output_directory` should be set and passed why what ever instanstiates RunConfiguration.
2016-09-27 11:20:12 +01:00
dc0449b544 Configuration: Various fixes
- Removed `finalize`, replaced it with `validate`
- Added `to_pod` and `from_pod` methods
- `set` and `update_config` now take (and forward) `check_mandatory`
2016-09-27 11:20:12 +01:00
57cd5a93fe Added merge_using_priority_specificity
This complex function handles merging of config with two priorities in mind.
The specificity of the config (`device_config` vs `nexus10`) and the priorty
of the source.
2016-09-27 11:20:12 +01:00
22888b502f ConfigurationPoint: Now validates the default value 2016-09-27 11:20:12 +01:00
9cc42c1879 Moved get_type_name outside of ConfigurationPoint 2016-09-27 11:20:12 +01:00
cddc29af05 ConfigurationPoint: Removed convert_types
Now always done by default because we never had a situation where this was not necessary.
2016-09-27 11:20:12 +01:00
6798a54a61 ConfigParser: Added ID validation - IDs cannot contain a - because its used to separate section IDs from workload IDs - global is a reserved ID for the "global" section. 2016-09-27 11:20:12 +01:00
451d973a65 ConfigParser: Global generic config is now stored in the plugin cache
Config such as "device_config" or "workload_parameters" is now stored in
the plugin cache till we know what it belongs to.
2016-09-27 11:20:12 +01:00
059b38685b AgendaParse: Removed config finalisation
It should not been done by the agenda parser but rather what ever invokes it
2016-09-27 11:20:12 +01:00
6aa3ddae4f types: Added obj_dict
obj_dict is a a dictionary that can have its entries accessed either
via the standard `[some_key]` method or via the obj_dict's attributes
`obj_dict.some_key`.

This comes is very useful when needing to use `ConfigurationPoints` outside
of a `Configuration` object
2016-09-27 11:20:12 +01:00
ca13c58f7c toggle_set: Fixed code from when these were lists not sets 2016-09-27 11:20:12 +01:00
df17f79142 Job spec tree: Added a common base for workloads and sections
Added "JobSpecSource" as a base class for both section tree nodes and
workload entries. This adds a common interface between them for:
 - Resolving names
 - Storing configuration
 - References to parents
 - Getting IDs out of configuration
2016-09-27 11:20:12 +01:00
b0e500e2a8 misc 2016-09-27 11:20:11 +01:00
e258999e0a Unit tests 2016-09-27 11:20:11 +01:00
e0e4f389b9 Reworked configuration
All config now uses configuration points
Config parsing is now done in destinct stages
  - first all files are parsed and sent to their corresponding config objects or to a tree
  - tree is traversed to generate job specs.
2016-09-27 11:20:11 +01:00
8de1b94d73 enable_disable_list: Added a type to handle instrument/result_processor lists
A custom list type now allows "enabling"/"disabling" items by prepending a `~`.
When merged the new state takes priority over the old state.
2016-09-27 11:20:11 +01:00
05df7c7d9f ExecutionContext: Fixed copying agenda when one is not used 2016-09-27 11:17:25 +01:00