mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-06-05 02:20:30 +00:00
arm/classes: Change FVP_CONSOLE to FVP_CONSOLES in fvpconf
So that the test target can connect to the desired console(s) as soon as they appear in the FVP stdout, add the variable FVP_CONSOLES to the fvpconf as a replcaement for FVP_CONSOLE. The varflags of this variable define a mapping between FVP console names (e.g. terminal_0) and console names in the tests (e.g. 'zephyr'). The console defined in FVP_CONSOLE is automatically mapped as 'default' for backwards compatibility. This also enables greater reuse of test cases, as the "default" console name can be remapped on a per-machine basis. Issue-Id: SCM-4957 Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Change-Id: I9d88b172bfc5a5459b9f5132f287c70816d7fb55 Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
@@ -18,6 +18,9 @@ FVP_APPLICATIONS ?= ""
|
||||
FVP_TERMINALS ?= ""
|
||||
# What terminal should be considered the primary console
|
||||
FVP_CONSOLE ?= ""
|
||||
# Flags for console names, as they appear in the FVP output. Flag name is an
|
||||
# application-specific id for the console for use in test cases
|
||||
FVP_CONSOLES[default] ?= "${FVP_CONSOLE}"
|
||||
# Arbitrary extra arguments
|
||||
FVP_EXTRA_ARGS ?= ""
|
||||
|
||||
@@ -59,7 +62,7 @@ python do_write_fvpboot_conf() {
|
||||
data["parameters"] = getFlags("FVP_CONFIG")
|
||||
data["data"] = shlex.split(d.getVar("FVP_DATA") or "")
|
||||
data["applications"] = getFlags("FVP_APPLICATIONS")
|
||||
data["console"] = d.getVar("FVP_CONSOLE")
|
||||
data["consoles"] = getFlags("FVP_CONSOLES")
|
||||
data["terminals"] = getFlags("FVP_TERMINALS")
|
||||
data["args"] = shlex.split(d.getVar("FVP_EXTRA_ARGS") or "")
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ def load(config_file):
|
||||
sanitise("applications", {})
|
||||
sanitise("terminals", {})
|
||||
sanitise("args", [])
|
||||
sanitise("console", "")
|
||||
sanitise("consoles", {})
|
||||
|
||||
if not config["exe"]:
|
||||
raise ValueError("Required value FVP_EXE not set in machine configuration")
|
||||
|
||||
@@ -78,7 +78,7 @@ class ConfFileTests(OESelftestTestCase):
|
||||
self.assertTrue("applications" in conf)
|
||||
self.assertTrue("terminals" in conf)
|
||||
self.assertTrue("args" in conf)
|
||||
self.assertTrue("console" in conf)
|
||||
self.assertTrue("consoles" in conf)
|
||||
|
||||
|
||||
class RunnerTests(OESelftestTestCase):
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ async def start_fvp(args, config, extra_args):
|
||||
|
||||
if args.console:
|
||||
fvp.add_line_callback(lambda line: logger.debug(f"FVP output: {line}"))
|
||||
expected_terminal = config["console"]
|
||||
expected_terminal = config["consoles"]["default"]
|
||||
if not expected_terminal:
|
||||
logger.error("--console used but FVP_CONSOLE not set in machine configuration")
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user