From 52f07a4b0b193b9a6eb9090a6a65f5e82f7dced5 Mon Sep 17 00:00:00 2001 From: Peter Hoyes Date: Thu, 1 Sep 2022 10:57:02 +0100 Subject: [PATCH] arm/oeqa: Make linuxboot test case timeout configurable In complex stacks, e.g. with many cores or many init scripts, the time to Linux shell may be more than 10 minutes. Make the boot timeout configurable using TEST_FVP_LINUX_BOOT_TIMEOUT, leaving the default value at 10 minutes. Issue-Id: SCM-4958 Signed-off-by: Peter Hoyes Change-Id: Ie074acd4b4509d0230d1f77a2a527d497bb295ce Signed-off-by: Jon Mason --- documentation/oeqa-fvp.md | 2 +- meta-arm/lib/oeqa/runtime/cases/linuxboot.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/documentation/oeqa-fvp.md b/documentation/oeqa-fvp.md index b53065a0..582dd38b 100644 --- a/documentation/oeqa-fvp.md +++ b/documentation/oeqa-fvp.md @@ -37,7 +37,7 @@ self.target.expect('default', r'root@.*\:~#', timeout=30) self.assertNotIn(b'ERROR:', self.target.before('tf-a')) ``` -For an example of a full test case, see meta-arm/lib/oeqa/runtime/cases/linuxboot.py This test case can be used to minimally verify that a machine boots to a Linux shell. +For an example of a full test case, see meta-arm/lib/oeqa/runtime/cases/linuxboot.py This test case can be used to minimally verify that a machine boots to a Linux shell. The default timeout is 10 minutes, but this can be configured with the variable TEST_FVP_LINUX_BOOT_TIMEOUT, which expects a value in seconds. The SSH interface described above is also available on OEFVPSerialTarget to support writing a set of hybrid test suites that use a combination of serial and SSH access. Note however that this test target does not guarantee that Linux has booted to shell prior to running any tests, so the test cases in OE-core are not supported. diff --git a/meta-arm/lib/oeqa/runtime/cases/linuxboot.py b/meta-arm/lib/oeqa/runtime/cases/linuxboot.py index 8994405e..99a8e78b 100644 --- a/meta-arm/lib/oeqa/runtime/cases/linuxboot.py +++ b/meta-arm/lib/oeqa/runtime/cases/linuxboot.py @@ -12,7 +12,8 @@ class LinuxBootTest(OERuntimeTestCase): def setUp(self): self.console = self.target.DEFAULT_CONSOLE + self.timeout = int(self.td.get('TEST_FVP_LINUX_BOOT_TIMEOUT') or 10*60) def test_linux_boot(self): self.logger.info(f"{self.console}: Waiting for login prompt") - self.target.expect(self.console, r"login\:", timeout=10*60) + self.target.expect(self.console, r"login\:", self.timeout)