@@ -8,8 +8,8 @@ TFA_TARGET_PLATFORM = "fvp"
TFM_PLATFORM_IS_FVP = "TRUE"
# testimage config
-TEST_TARGET = "OEFVPTarget"
-TEST_SUITES = "noop"
+TEST_TARGET = "OEFVPSerialTarget"
+TEST_SUITES = "linuxboot"
# FVP Config
FVP_PROVIDER ?= "fvp-corstone1000-native"
@@ -33,8 +33,8 @@ WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}"
WKS_FILE ?= "core-image-minimal.corstone500.wks"
-TEST_TARGET = "OEFVPTarget"
-TEST_SUITES = "noop"
+TEST_TARGET = "OEFVPSerialTarget"
+TEST_SUITES = "linuxboot"
FVP_PROVIDER ?= "fvp-corstone500-native"
FVP_EXE ?= "FVP_Corstone-500"
@@ -33,8 +33,8 @@ PACKAGECONFIG:remove:pn-openssh = "rng-tools"
MACHINE_EXTRA_RRECOMMENDS += "ssh-pregen-hostkeys"
# testimage configuration
-TEST_TARGET = "OEFVPTarget"
-TEST_SUITES = "ping ssh"
+TEST_TARGET = "OEFVPSerialTarget"
+TEST_SUITES = "linuxboot"
TEST_TARGET_IP ?= "127.0.0.1:8022"
TEST_SERVER_IP ?= "127.0.1.1"
@@ -119,7 +119,9 @@ class FVPRunner:
check_telnet()
import pexpect
port = await self._get_terminal_port(terminal, timeout)
- return pexpect.spawn(f"telnet localhost {port}", **kwargs)
+ instance = pexpect.spawn(f"telnet localhost {port}", **kwargs)
+ self._pexpects.append(instance)
+ return instance
def pid(self):
return self._fvp_process.pid
@@ -87,7 +87,8 @@ class OEFVPSerialTarget(OEFVPSSHTarget):
This still depends on OEFVPSSHTarget so SSH commands can still be run on
the target, but note that this class does not inherently guarantee that
the SSH server is running prior to running test cases. Test cases that use
- SSH should first validate that SSH is available.
+ SSH should first validate that SSH is available, e.g. by depending on the
+ "linuxboot" test case in meta-arm.
"""
DEFAULT_CONSOLE = "default"
new file mode 100644
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: MIT
+
+from oeqa.runtime.case import OERuntimeTestCase
+
+
+class LinuxBootTest(OERuntimeTestCase):
+ """
+ This test case is only compatible with the OEFVPSerialTarget as it uses
+ the pexpect interface. It waits for a Linux login prompt on the default
+ console.
+ """
+
+ def setUp(self):
+ self.console = self.target.DEFAULT_CONSOLE
+
+ def test_linux_boot(self):
+ self.logger.info(f"{self.console}: Waiting for login prompt")
+ self.target.expect(self.console, "login\:", timeout=10*60)
deleted file mode 100644
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: MIT
-
-from oeqa.runtime.case import OERuntimeTestCase
-
-class NoopTest(OERuntimeTestCase):
- """
- This is a test case which does nothing. Useful when you want to use
- testimage to verify that an image boots, but you don't have networking so
- none of the existing test cases are suitable.
- """
- def test_no_op(self):
- return