mirror of
				https://github.com/ARM-software/workload-automation.git
				synced 2025-10-31 07:04:17 +00:00 
			
		
		
		
	Commands/Create: Adds support for creating workloads
The create command can now be used to create workloads for the various types.
This commit is contained in:
		
							
								
								
									
										54
									
								
								wa/commands/templates/apk_workload
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								wa/commands/templates/apk_workload
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| from wa import Parameter, ApkWorkload | ||||
|  | ||||
|  | ||||
| class ${class_name}(ApkWorkload): | ||||
|  | ||||
|     name = '${name}' | ||||
|     description = "This is an placeholder description" | ||||
|     # Replace with a list of supported package name(s) in the APK file(s). | ||||
|     package_names = ['package_name'] | ||||
|  | ||||
|     parameters = [ | ||||
|         # Workload parameters go here e.g. | ||||
|         Parameter('example_parameter', kind=int, allowed_values=[1,2,3], | ||||
|                   default=1, override=True, mandatory=False, | ||||
|                   description='This is an example parameter') | ||||
|     ] | ||||
|  | ||||
|     def __init__(self, target, **kwargs): | ||||
|         super(${class_name}, self).__init__(target, **kwargs) | ||||
|         # Define any additional attiributes required for the workload | ||||
|  | ||||
|     def init_resources(self, context): | ||||
|         super(${class_name}, self).init_resources(context) | ||||
|         # This method may be used to perform early resource discovery and | ||||
|         # initialization. This is invoked during the initial loading stage and | ||||
|         # before the device is ready, so cannot be used for any device-dependent | ||||
|         # initialization. This method is invoked before the workload instance is | ||||
|         # validated. | ||||
|  | ||||
|     def initialize(self, context): | ||||
|         super(${class_name}, self).initialize(context) | ||||
|         # This method should be used to perform once-per-run initialization of a | ||||
|         # workload instance. | ||||
|  | ||||
|     def validate(self): | ||||
|         super(${class_name}, self).validate(context) | ||||
|         # Validate inter-parameter assumptions etc | ||||
|  | ||||
|     def setup(self, context): | ||||
|         super(${class_name}, self).setup(context) | ||||
|         # Perform any necessary setup before starting the application | ||||
|  | ||||
|     def extract_results(self, context): | ||||
|         super(${class_name}, self).extract_results(context) | ||||
|         # Extract results on the target | ||||
|  | ||||
|     def update_output(self, context): | ||||
|         super(${class_name}, self).update_output(context) | ||||
|         # Update the output within the specified execution context with the | ||||
|         # metrics and artifacts form this workload iteration. | ||||
|  | ||||
|     def teardown(self, context): | ||||
|         super(${class_name}, self).teardown(context) | ||||
|         # Perform any final clean up for the Workload. | ||||
		Reference in New Issue
	
	Block a user