From nobody Sat Nov 23 23:00:48 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1731392972; cv=none; d=zohomail.com; s=zohoarc; b=DhaTDmAbo4cXH81J8KmmdyVSeuT9p9BjLTESZqCzPUe9TP52SGTYcFR0nfxK9gh5gSDG9gnLKXwUrWZZQaSg22Jy8W65udmUQdgDvxWlgUzQvxryKbuJHmNoecKWIJwicFn3HX40SjVxCfs6jow96sZmnFMlVSDg1iLcf091Nj8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1731392972; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UPvG211bgjOPoT7mi+ckBLnolqhsNWv3NDvVXCTXzTU=; b=mh8LAkIIQomp8lvWqVDvKus7qUlznL9nFZ/lHg7NVUmAAzHMST00p2U3gGgiqcdkcjleNekHMB5bD+a0gkJyvu6XrVNgGHbNHzLcoQHuzj8quAYF5erY+m4RytT6kXCsHsPNNAeen78qD7gGjumLI8qDih0y/A0wV+I/gBjqU3E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1731392972068669.3974761999651; Mon, 11 Nov 2024 22:29:32 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tAkOJ-0005wp-Lx; Tue, 12 Nov 2024 01:28:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tAkOI-0005w9-1o for qemu-devel@nongnu.org; Tue, 12 Nov 2024 01:28:42 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tAkOF-000201-JA for qemu-devel@nongnu.org; Tue, 12 Nov 2024 01:28:41 -0500 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-124-AsEdtu9XM-e_uWLWrgECgw-1; Tue, 12 Nov 2024 01:28:33 -0500 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 8D2B31955F41; Tue, 12 Nov 2024 06:28:31 +0000 (UTC) Received: from corto.redhat.com (unknown [10.39.193.48]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 6F011195E480; Tue, 12 Nov 2024 06:28:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1731392918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UPvG211bgjOPoT7mi+ckBLnolqhsNWv3NDvVXCTXzTU=; b=idzaLbBz2CPU/QY2moPguEQCUGpJvGMGRiGvrHEfXN1JO1oDvuSCPi17xXJ8IWf2EEgM7F MXPbLPkzfGiT2+zmgDi08IVkJPCT19xczmk/63ei5H4pVpP17kOtLvMEJqkUAYoGPIbpnH 3Lzb+HzeX7JK/pDxDR5qRX7VJZeNi48= X-MC-Unique: AsEdtu9XM-e_uWLWrgECgw-1 X-Mimecast-MFC-AGG-ID: AsEdtu9XM-e_uWLWrgECgw From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= To: qemu-devel@nongnu.org, qemu-arm@nongnu.org Cc: Thomas Huth , Peter Maydell , Steven Lee , Troy Lee , Jamin Lin , Andrew Jeffery , Joel Stanley , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH v1 3/4] tests/functional: Convert Aspeed arm SDK tests Date: Tue, 12 Nov 2024 07:28:05 +0100 Message-ID: <20241112062806.838717-4-clg@redhat.com> In-Reply-To: <20241112062806.838717-1-clg@redhat.com> References: <20241112062806.838717-1-clg@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=clg@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.122, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1731392973528116600 Drop the SSH connection which was introduced in the avocado tests to workaround read issues when interacting with console. Signed-off-by: C=C3=A9dric Le Goater --- tests/avocado/machine_aspeed.py | 124 ---------------------------- tests/functional/test_arm_aspeed.py | 67 +++++++++++++++ 2 files changed, 67 insertions(+), 124 deletions(-) delete mode 100644 tests/avocado/machine_aspeed.py diff --git a/tests/avocado/machine_aspeed.py b/tests/avocado/machine_aspeed= .py deleted file mode 100644 index 2240c82abff9..000000000000 --- a/tests/avocado/machine_aspeed.py +++ /dev/null @@ -1,124 +0,0 @@ -# Functional test that boots the ASPEED SoCs with firmware -# -# Copyright (C) 2022 ASPEED Technology Inc -# -# This work is licensed under the terms of the GNU GPL, version 2 or -# later. See the COPYING file in the top-level directory. - -import time -import os -import tempfile -import subprocess - -from avocado_qemu import LinuxSSHMixIn -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_qemu import interrupt_interactive_console_until_pattern -from avocado_qemu import has_cmd -from avocado.utils import archive -from avocado import skipUnless - -class AST2x00MachineSDK(QemuSystemTest, LinuxSSHMixIn): - - EXTRA_BOOTARGS =3D ( - 'quiet ' - 'systemd.mask=3Dorg.openbmc.HostIpmi.service ' - 'systemd.mask=3Dxyz.openbmc_project.Chassis.Control.Power@0.servic= e ' - 'systemd.mask=3Dmodprobe@fuse.service ' - 'systemd.mask=3Drngd.service ' - 'systemd.mask=3Dobmc-console@ttyS2.service ' - ) - - # 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 =3D 240 - - def wait_for_console_pattern(self, success_message, vm=3DNone): - wait_for_console_pattern(self, success_message, - failure_message=3D'Kernel panic - not syn= cing', - vm=3Dvm) - - def do_test_arm_aspeed_sdk_start(self, image): - self.require_netdev('user') - self.vm.set_console() - self.vm.add_args('-drive', 'file=3D' + image + ',if=3Dmtd,format= =3Draw', - '-net', 'nic', '-net', 'user,hostfwd=3D:127.0.0.1= :0-:22') - self.vm.launch() - - self.wait_for_console_pattern('U-Boot 2019.04') - interrupt_interactive_console_until_pattern( - self, 'Hit any key to stop autoboot:', 'ast#') - exec_command_and_wait_for_pattern( - self, 'setenv bootargs ${bootargs} ' + self.EXTRA_BOOTARGS, 'a= st#') - exec_command_and_wait_for_pattern( - self, 'boot', '## Loading kernel from FIT Image') - self.wait_for_console_pattern('Starting kernel ...') - - @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on G= itLab') - def test_arm_ast2500_evb_sdk(self): - """ - :avocado: tags=3Darch:arm - :avocado: tags=3Dmachine:ast2500-evb - :avocado: tags=3Dflaky - """ - - image_url =3D ('https://github.com/AspeedTech-BMC/openbmc/releases= /' - 'download/v08.06/ast2500-default-obmc.tar.gz') - image_hash =3D ('e1755f3cadff69190438c688d52dd0f0d399b70a1e14b1d3d= 5540fc4851d38ca') - image_path =3D self.fetch_asset(image_url, asset_hash=3Dimage_hash, - algorithm=3D'sha256') - archive.extract(image_path, self.workdir) - - self.do_test_arm_aspeed_sdk_start( - self.workdir + '/ast2500-default/image-bmc') - self.wait_for_console_pattern('nodistro.0 ast2500-default ttyS4') - - @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on G= itLab') - def test_arm_ast2600_evb_sdk(self): - """ - :avocado: tags=3Darch:arm - :avocado: tags=3Dmachine:ast2600-evb - :avocado: tags=3Dflaky - """ - - image_url =3D ('https://github.com/AspeedTech-BMC/openbmc/releases= /' - 'download/v08.06/ast2600-a2-obmc.tar.gz') - image_hash =3D ('9083506135f622d5e7351fcf7d4e1c7125cee5ba16141220c= 0ba88931f3681a4') - image_path =3D self.fetch_asset(image_url, asset_hash=3Dimage_hash, - algorithm=3D'sha256') - archive.extract(image_path, self.workdir) - - self.vm.add_args('-device', - 'tmp105,bus=3Daspeed.i2c.bus.5,address=3D0x4d,id= =3Dtmp-test'); - self.vm.add_args('-device', - 'ds1338,bus=3Daspeed.i2c.bus.5,address=3D0x32'); - self.do_test_arm_aspeed_sdk_start( - self.workdir + '/ast2600-a2/image-bmc') - self.wait_for_console_pattern('nodistro.0 ast2600-a2 ttyS4') - - self.ssh_connect('root', '0penBmc', False) - self.ssh_command('dmesg -c > /dev/null') - - self.ssh_command_output_contains( - 'echo lm75 0x4d > /sys/class/i2c-dev/i2c-5/device/new_device = ; ' - 'dmesg -c', - 'i2c i2c-5: new_device: Instantiated device lm75 at 0x4d'); - self.ssh_command_output_contains( - 'cat /sys/class/hwmon/hwmon19/temp1_input', '= 0') - self.vm.cmd('qom-set', path=3D'/machine/peripheral/tmp-test', - property=3D'temperature', value=3D18000); - self.ssh_command_output_contains( - 'cat /sys/class/hwmon/hwmon19/temp1_input', '= 18000') - - self.ssh_command_output_contains( - 'echo ds1307 0x32 > /sys/class/i2c-dev/i2c-5/device/new_devic= e ; ' - 'dmesg -c', - 'i2c i2c-5: new_device: Instantiated device ds1307 at 0x32'); - year =3D time.strftime("%Y") - self.ssh_command_output_contains('/sbin/hwclock -f /dev/rtc1', yea= r); - diff --git a/tests/functional/test_arm_aspeed.py b/tests/functional/test_ar= m_aspeed.py index 5fb1adf46439..bdd5771a794e 100755 --- a/tests/functional/test_arm_aspeed.py +++ b/tests/functional/test_arm_aspeed.py @@ -252,6 +252,73 @@ def test_arm_ast2600_evb_buildroot_tpm(self): =20 self.do_test_arm_aspeed_buildroot_poweroff() =20 + def do_test_arm_aspeed_sdk_start(self, image): + self.vm.set_console() + self.vm.add_args('-drive', 'file=3D' + image + ',if=3Dmtd,format= =3Draw', + '-net', 'nic', '-snapshot') + self.vm.launch() + + self.wait_for_console_pattern('U-Boot 2019.04') + self.wait_for_console_pattern('## Loading kernel from FIT Image') + self.wait_for_console_pattern('Starting kernel ...') + + ASSET_SDK_V806_AST2500 =3D Asset( + 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v08.0= 6/ast2500-default-obmc.tar.gz', + 'e1755f3cadff69190438c688d52dd0f0d399b70a1e14b1d3d5540fc4851d38ca') + + def test_arm_ast2500_evb_sdk(self): + self.set_machine('ast2500-evb') + + image_path =3D self.ASSET_SDK_V806_AST2500.fetch() + + archive_extract(image_path, self.workdir) + + self.do_test_arm_aspeed_sdk_start( + self.workdir + '/ast2500-default/image-bmc') + + self.wait_for_console_pattern('ast2500-default login:') + + ASSET_SDK_V806_AST2600_A2 =3D Asset( + 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v08.0= 6/ast2600-a2-obmc.tar.gz', + '9083506135f622d5e7351fcf7d4e1c7125cee5ba16141220c0ba88931f3681a4') + + def test_arm_ast2600_evb_sdk(self): + self.set_machine('ast2600-evb') + + image_path =3D self.ASSET_SDK_V806_AST2600_A2.fetch() + + archive_extract(image_path, self.workdir) + + self.vm.add_args('-device', + 'tmp105,bus=3Daspeed.i2c.bus.5,address=3D0x4d,id=3Dtmp-test'); + self.vm.add_args('-device', + 'ds1338,bus=3Daspeed.i2c.bus.5,address=3D0x32'); + self.do_test_arm_aspeed_sdk_start( + self.workdir + '/ast2600-a2/image-bmc') + + self.wait_for_console_pattern('ast2600-a2 login:') + + exec_command_and_wait_for_pattern(self, 'root', 'Password:') + exec_command_and_wait_for_pattern(self, '0penBmc', 'root@ast2600-a= 2:~#') + + exec_command_and_wait_for_pattern(self, + 'echo lm75 0x4d > /sys/class/i2c-dev/i2c-5/device/new_device', + 'i2c i2c-5: new_device: Instantiated device lm75 at 0x4d'); + exec_command_and_wait_for_pattern(self, + 'cat /sys/class/hwmon/hwmon19/temp1_input', '0') + self.vm.cmd('qom-set', path=3D'/machine/peripheral/tmp-test', + property=3D'temperature', value=3D18000); + exec_command_and_wait_for_pattern(self, + 'cat /sys/class/hwmon/hwmon19/temp1_input', '18000') + + exec_command_and_wait_for_pattern(self, + 'echo ds1307 0x32 > /sys/class/i2c-dev/i2c-5/device/new_devic= e', + 'i2c i2c-5: new_device: Instantiated device ds1307 at 0x32'); + year =3D time.strftime("%Y") + exec_command_and_wait_for_pattern(self, + '/sbin/hwclock -f /dev/rtc1', year); + + class AST2x00MachineMMC(LinuxKernelTest): =20 ASSET_RAINIER_EMMC =3D Asset( --=20 2.47.0