twister: runner: add extra_args supporting platform and soc
like extra_confs, add extr_args filterable by soc:<arch>:<extra_args> or platfrom:<platform name>: <extra_args> simulation:<simulator name>: <extra_args> which will only apply to given platform or arch Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
This commit is contained in:
parent
835dd0b83e
commit
c759068c40
1 changed files with 19 additions and 1 deletions
|
@ -1182,8 +1182,26 @@ class ProjectBuilder(FilterBuilder):
|
|||
return args_expanded
|
||||
|
||||
def cmake(self, filter_stages=[]):
|
||||
args = []
|
||||
for va in self.testsuite.extra_args.copy():
|
||||
cond_args = va.split(":")
|
||||
if cond_args[0] == "arch" and len(cond_args) == 3:
|
||||
if self.instance.platform.arch == cond_args[1]:
|
||||
args.append(cond_args[2])
|
||||
elif cond_args[0] == "platform" and len(cond_args) == 3:
|
||||
if self.instance.platform.name == cond_args[1]:
|
||||
args.append(cond_args[2])
|
||||
elif cond_args[0] == "simulation" and len(cond_args) == 3:
|
||||
if self.instance.platform.simulation == cond_args[1]:
|
||||
args.append(cond_args[2])
|
||||
else:
|
||||
if cond_args[0] in ["arch", "platform", "simulation"]:
|
||||
logger.warning(f"Unexpected extra_args: {va}")
|
||||
args.append(va)
|
||||
|
||||
|
||||
args = self.cmake_assemble_args(
|
||||
self.testsuite.extra_args.copy(), # extra_args from YAML
|
||||
args,
|
||||
self.instance.handler,
|
||||
self.testsuite.extra_conf_files,
|
||||
self.testsuite.extra_overlay_confs,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue