tests/avocado: split the AST2x00Machine classes

The SDK tests take a lot longer to run and hence need a longer
timeout. As they run well over the 60 second maximum for CI lets also
disable them for CI as well.

I suspect they also suffer from the inability to detect the login
prompt due to no newlines being processed.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220914155950.804707-7-alex.bennee@linaro.org>
This commit is contained in:
Alex Bennée 2022-09-14 16:59:26 +01:00
parent b247dba067
commit 92f8e8e2fe
1 changed files with 18 additions and 0 deletions

View File

@ -6,12 +6,14 @@
# later. See the COPYING file in the top-level directory.
import time
import os
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
from avocado_qemu import exec_command
from avocado_qemu import exec_command_and_wait_for_pattern
from avocado.utils import archive
from avocado import skipIf
class AST1030Machine(QemuSystemTest):
@ -176,6 +178,20 @@ class AST2x00Machine(QemuSystemTest):
self.do_test_arm_aspeed_buidroot_poweroff()
class AST2x00MachineSDK(QemuSystemTest):
# FIXME: Although these tests boot a whole distro they are still
# slower than comparable machine models. There may be some
# optimisations which bring down the runtime. In the meantime they
# have generous timeouts and are disable for CI which aims for all
# tests to run in less than 60 seconds.
timeout = 240
def wait_for_console_pattern(self, success_message, vm=None):
wait_for_console_pattern(self, success_message,
failure_message='Kernel panic - not syncing',
vm=vm)
def do_test_arm_aspeed_sdk_start(self, image, cpu_id):
self.vm.set_console()
self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw',
@ -187,6 +203,7 @@ class AST2x00Machine(QemuSystemTest):
self.wait_for_console_pattern('Starting kernel ...')
self.wait_for_console_pattern('Booting Linux on physical CPU ' + cpu_id)
@skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab')
def test_arm_ast2500_evb_sdk(self):
"""
:avocado: tags=arch:arm
@ -204,6 +221,7 @@ class AST2x00Machine(QemuSystemTest):
self.workdir + '/ast2500-default/image-bmc', '0x0')
self.wait_for_console_pattern('ast2500-default login:')
@skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab')
def test_arm_ast2600_evb_sdk(self):
"""
:avocado: tags=arch:arm