mirror of
				https://github.com/ARM-software/workload-automation.git
				synced 2025-10-31 15:12:25 +00:00 
			
		
		
		
	fw/target: make TargetInfo more POD-like
Split out the loading of the TargetInfo from a target into a separate function, leaving TargetInfo as a simple container.
This commit is contained in:
		
				
					committed by
					
						 Marc Bonnici
						Marc Bonnici
					
				
			
			
				
	
			
			
			
						parent
						
							1ffbce68c4
						
					
				
				
					commit
					2d39e5699f
				
			| @@ -42,6 +42,25 @@ def kernel_config_from_pod(pod): | ||||
|     return config | ||||
|  | ||||
|  | ||||
| def get_target_info(target): | ||||
|     info = TargetInfo() | ||||
|     info.target = target.__class__.__name__ | ||||
|     info.cpuinfo = target.cpuinfo | ||||
|     info.os = target.os | ||||
|     info.os_version = target.os_version | ||||
|     info.abi = target.abi | ||||
|     info.is_rooted = target.is_rooted | ||||
|     info.kernel_version = target.kernel_version | ||||
|     info.kernel_config = target.config | ||||
|  | ||||
|     if isinstance(target, AndroidTarget): | ||||
|         info.screen_resolution = target.screen_resolution | ||||
|         info.prop = target.getprop() | ||||
|         info.android_id = target.android_id | ||||
|  | ||||
|     return info | ||||
|  | ||||
|  | ||||
| class TargetInfo(object): | ||||
|  | ||||
|     @staticmethod | ||||
| @@ -56,8 +75,7 @@ class TargetInfo(object): | ||||
|         instance.is_rooted = pod['is_rooted'] | ||||
|         instance.kernel_version = kernel_version_from_pod(pod) | ||||
|         instance.kernel_config = kernel_config_from_pod(pod) | ||||
|  | ||||
|         if pod["target"] == "AndroidTarget": | ||||
|         if instance.os == 'android': | ||||
|             instance.screen_resolution = pod['screen_resolution'] | ||||
|             instance.prop = AndroidProperties('') | ||||
|             instance.prop._properties = pod['prop'] | ||||
| @@ -65,36 +83,15 @@ class TargetInfo(object): | ||||
|  | ||||
|         return instance | ||||
|  | ||||
|     def __init__(self, target=None): | ||||
|         if target: | ||||
|             self.target = target.__class__.__name__ | ||||
|             self.cpuinfo = target.cpuinfo | ||||
|             self.os = target.os | ||||
|             self.os_version = target.os_version | ||||
|             self.abi = target.abi | ||||
|             self.is_rooted = target.is_rooted | ||||
|             self.kernel_version = target.kernel_version | ||||
|             self.kernel_config = target.config | ||||
|  | ||||
|             if isinstance(target, AndroidTarget): | ||||
|                 self.screen_resolution = target.screen_resolution | ||||
|                 self.prop = target.getprop() | ||||
|                 self.android_id = target.android_id | ||||
|  | ||||
|         else: | ||||
|             self.target = None | ||||
|             self.cpuinfo = None | ||||
|             self.os = None | ||||
|             self.os_version = None | ||||
|             self.abi = None | ||||
|             self.is_rooted = None | ||||
|             self.kernel_version = None | ||||
|             self.kernel_config = None | ||||
|  | ||||
|             if isinstance(target, AndroidTarget): | ||||
|                 self.screen_resolution = None | ||||
|                 self.prop = None | ||||
|                 self.android_id = None | ||||
|     def __init__(self): | ||||
|         self.target = None | ||||
|         self.cpuinfo = None | ||||
|         self.os = None | ||||
|         self.os_version = None | ||||
|         self.abi = None | ||||
|         self.is_rooted = None | ||||
|         self.kernel_version = None | ||||
|         self.kernel_config = None | ||||
|  | ||||
|     def to_pod(self): | ||||
|         pod = {} | ||||
| @@ -108,8 +105,7 @@ class TargetInfo(object): | ||||
|         pod['kernel_release'] = self.kernel_version.release | ||||
|         pod['kernel_version'] = self.kernel_version.version | ||||
|         pod['kernel_config'] = dict(self.kernel_config.iteritems()) | ||||
|  | ||||
|         if self.target == "AndroidTarget": | ||||
|         if self.os == 'android': | ||||
|             pod['screen_resolution'] = self.screen_resolution | ||||
|             pod['prop'] = self.prop._properties | ||||
|             pod['android_id'] = self.android_id | ||||
|   | ||||
| @@ -6,7 +6,7 @@ from wa.framework.plugin import Parameter | ||||
| from wa.framework.target.descriptor import (get_target_description, | ||||
|                                             instantiate_target, | ||||
|                                             instantiate_assistant) | ||||
| from wa.framework.target.info import TargetInfo | ||||
| from wa.framework.target.info import get_target_info | ||||
| from wa.framework.target.runtime_parameter_manager import RuntimeParameterManager | ||||
|  | ||||
| from devlib import Gem5SimulationPlatform | ||||
| @@ -72,7 +72,7 @@ class TargetManager(object): | ||||
|  | ||||
|     @memoized | ||||
|     def get_target_info(self): | ||||
|         return TargetInfo(self.target) | ||||
|         return get_target_info(self.target) | ||||
|  | ||||
|     def merge_runtime_parameters(self, parameters): | ||||
|         return self.rpm.merge_runtime_parameters(parameters) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user