mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-09-02 11:22:41 +01: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
parent
1ffbce68c4
commit
2d39e5699f
@@ -42,6 +42,25 @@ def kernel_config_from_pod(pod):
|
|||||||
return config
|
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):
|
class TargetInfo(object):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -56,8 +75,7 @@ class TargetInfo(object):
|
|||||||
instance.is_rooted = pod['is_rooted']
|
instance.is_rooted = pod['is_rooted']
|
||||||
instance.kernel_version = kernel_version_from_pod(pod)
|
instance.kernel_version = kernel_version_from_pod(pod)
|
||||||
instance.kernel_config = kernel_config_from_pod(pod)
|
instance.kernel_config = kernel_config_from_pod(pod)
|
||||||
|
if instance.os == 'android':
|
||||||
if pod["target"] == "AndroidTarget":
|
|
||||||
instance.screen_resolution = pod['screen_resolution']
|
instance.screen_resolution = pod['screen_resolution']
|
||||||
instance.prop = AndroidProperties('')
|
instance.prop = AndroidProperties('')
|
||||||
instance.prop._properties = pod['prop']
|
instance.prop._properties = pod['prop']
|
||||||
@@ -65,23 +83,7 @@ class TargetInfo(object):
|
|||||||
|
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
def __init__(self, target=None):
|
def __init__(self):
|
||||||
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.target = None
|
||||||
self.cpuinfo = None
|
self.cpuinfo = None
|
||||||
self.os = None
|
self.os = None
|
||||||
@@ -91,11 +93,6 @@ class TargetInfo(object):
|
|||||||
self.kernel_version = None
|
self.kernel_version = None
|
||||||
self.kernel_config = None
|
self.kernel_config = None
|
||||||
|
|
||||||
if isinstance(target, AndroidTarget):
|
|
||||||
self.screen_resolution = None
|
|
||||||
self.prop = None
|
|
||||||
self.android_id = None
|
|
||||||
|
|
||||||
def to_pod(self):
|
def to_pod(self):
|
||||||
pod = {}
|
pod = {}
|
||||||
pod['target'] = self.target
|
pod['target'] = self.target
|
||||||
@@ -108,8 +105,7 @@ class TargetInfo(object):
|
|||||||
pod['kernel_release'] = self.kernel_version.release
|
pod['kernel_release'] = self.kernel_version.release
|
||||||
pod['kernel_version'] = self.kernel_version.version
|
pod['kernel_version'] = self.kernel_version.version
|
||||||
pod['kernel_config'] = dict(self.kernel_config.iteritems())
|
pod['kernel_config'] = dict(self.kernel_config.iteritems())
|
||||||
|
if self.os == 'android':
|
||||||
if self.target == "AndroidTarget":
|
|
||||||
pod['screen_resolution'] = self.screen_resolution
|
pod['screen_resolution'] = self.screen_resolution
|
||||||
pod['prop'] = self.prop._properties
|
pod['prop'] = self.prop._properties
|
||||||
pod['android_id'] = self.android_id
|
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,
|
from wa.framework.target.descriptor import (get_target_description,
|
||||||
instantiate_target,
|
instantiate_target,
|
||||||
instantiate_assistant)
|
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 wa.framework.target.runtime_parameter_manager import RuntimeParameterManager
|
||||||
|
|
||||||
from devlib import Gem5SimulationPlatform
|
from devlib import Gem5SimulationPlatform
|
||||||
@@ -72,7 +72,7 @@ class TargetManager(object):
|
|||||||
|
|
||||||
@memoized
|
@memoized
|
||||||
def get_target_info(self):
|
def get_target_info(self):
|
||||||
return TargetInfo(self.target)
|
return get_target_info(self.target)
|
||||||
|
|
||||||
def merge_runtime_parameters(self, parameters):
|
def merge_runtime_parameters(self, parameters):
|
||||||
return self.rpm.merge_runtime_parameters(parameters)
|
return self.rpm.merge_runtime_parameters(parameters)
|
||||||
|
Reference in New Issue
Block a user