From nobody Sat May 10 20:43:20 2025 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=1734520517; cv=none; d=zohomail.com; s=zohoarc; b=WAbQ+5+enR3e0qhBK88y9DTIDauNn9r9PBiHyP1ug/saVMWI5zJiQWZmuZhpjS23au4g4aloFLts+dERl4g7SPiVCC6+ZQ4SGZ7h+N/gjXwlEqB9eGdURssZzwMXpGcBMSYQJxWqVYdiDos0EXml1bumjWKY+oF8cX2ICbM2B0k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1734520517; h=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=vEtvWaUYF14WlqP1L8Eh4AUvZrz0DIV0ksvKiy/5LMQ=; b=Jnd96+KOYddwbyEuVGhQMQgOX6DHys+Li3ONH7Hgn0JMlTbxBT8q12vOQliXdIAjY/aH+ZD4GMKyGnj1O5rA0aiaUUJzWXFxhfJ90IG7b5eJQDnu2ec8P++xK9vGz+gFy2+nEjVLjALl7DVgN12NzSC+IrqPwm8Xi21XZuVjstA= 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=<thuth@redhat.com> (p=none dis=none) Return-Path: <qemu-devel-bounces+importer=patchew.org@nongnu.org> Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1734520517866731.2607120203136; Wed, 18 Dec 2024 03:15:17 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <qemu-devel-bounces@nongnu.org>) id 1tNrxu-0000GU-Ap; Wed, 18 Dec 2024 06:11:42 -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 <thuth@redhat.com>) id 1tNrxi-00084d-V1 for qemu-devel@nongnu.org; Wed, 18 Dec 2024 06:11:32 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <thuth@redhat.com>) id 1tNrxg-0005wO-TZ for qemu-devel@nongnu.org; Wed, 18 Dec 2024 06:11:30 -0500 Received: from mx-prod-mc-04.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-619--my4HRe5Na2fnDmIskWrnw-1; Wed, 18 Dec 2024 06:11:25 -0500 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (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-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 147431958B3D for <qemu-devel@nongnu.org>; Wed, 18 Dec 2024 11:11:25 +0000 (UTC) Received: from thuth-p1g4.redhat.com (unknown [10.39.192.114]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 3A49D195606B; Wed, 18 Dec 2024 11:11:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1734520287; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vEtvWaUYF14WlqP1L8Eh4AUvZrz0DIV0ksvKiy/5LMQ=; b=GNktCVUMo2AQPn9SfqfNv1Ebz6tDxZPZC1YcqWWiuhHNMfKCjhdAqaBhboF/Im6cYANhWE GqKCSfcckWLdkFIZxcL9vnbvzP4hykVStEMaCi2R2Xy9Hgv0CLtWWZ0OXWUQ0MfOwR6cX6 Cd7OqgM/l7QrFgWDNomMZ+vyXtP02n8= X-MC-Unique: -my4HRe5Na2fnDmIskWrnw-1 X-Mimecast-MFC-AGG-ID: -my4HRe5Na2fnDmIskWrnw From: Thomas Huth <thuth@redhat.com> To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi <stefanha@redhat.com> Subject: [PULL 33/38] tests/functional: Convert the quanta-gsj avocado test Date: Wed, 18 Dec 2024 12:09:53 +0100 Message-ID: <20241218110958.226932-34-thuth@redhat.com> In-Reply-To: <20241218110958.226932-1-thuth@redhat.com> References: <20241218110958.226932-1-thuth@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 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.129.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -31 X-Spam_score: -3.2 X-Spam_bar: --- X-Spam_report: (-3.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H2=-1.116, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: <qemu-devel.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe> List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel> List-Post: <mailto:qemu-devel@nongnu.org> List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=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: 1734520519484116600 Content-Type: text/plain; charset="utf-8" Straight forward conversion, basically just the hashsums needed to be updated to sha256 now. Message-ID: <20241206102358.1186644-6-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> --- MAINTAINERS | 1 + tests/avocado/boot_linux_console.py | 86 ---------------------- tests/functional/meson.build | 2 + tests/functional/test_arm_quanta_gsj.py | 94 +++++++++++++++++++++++++ 4 files changed, 97 insertions(+), 86 deletions(-) create mode 100755 tests/functional/test_arm_quanta_gsj.py diff --git a/MAINTAINERS b/MAINTAINERS index 54201da578..1e2f71e3b8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -872,6 +872,7 @@ F: tests/qtest/adm1266-test.c F: pc-bios/npcm7xx_bootrom.bin F: roms/vbootrom F: docs/system/arm/nuvoton.rst +F: tests/functional/test_arm_quanta_gsj.py =20 Raspberry Pi M: Peter Maydell <peter.maydell@linaro.org> diff --git a/tests/avocado/boot_linux_console.py b/tests/avocado/boot_linux= _console.py index 268b40ca31..4bd1465ba3 100644 --- a/tests/avocado/boot_linux_console.py +++ b/tests/avocado/boot_linux_console.py @@ -115,89 +115,3 @@ def test_arm_virt(self): self.vm.launch() console_pattern =3D 'Kernel command line: %s' % kernel_command_line self.wait_for_console_pattern(console_pattern) - - @skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might timeout= ') - def test_arm_quanta_gsj(self): - """ - :avocado: tags=3Darch:arm - :avocado: tags=3Dmachine:quanta-gsj - :avocado: tags=3Daccel:tcg - """ - # 25 MiB compressed, 32 MiB uncompressed. - image_url =3D ( - 'https://github.com/hskinnemoen/openbmc/releases/download/' - '20200711-gsj-qemu-0/obmc-phosphor-image-gsj.static.mtd.gz= ') - image_hash =3D '14895e634923345cb5c8776037ff7876df96f6b1' - image_path_gz =3D self.fetch_asset(image_url, asset_hash=3Dimage_h= ash) - image_name =3D 'obmc.mtd' - image_path =3D os.path.join(self.workdir, image_name) - archive.gzip_uncompress(image_path_gz, image_path) - - self.vm.set_console() - drive_args =3D 'file=3D' + image_path + ',if=3Dmtd,bus=3D0,unit=3D= 0' - self.vm.add_args('-drive', drive_args) - self.vm.launch() - - # Disable drivers and services that stall for a long time during b= oot, - # to avoid running past the 90-second timeout. These may be removed - # as the corresponding device support is added. - kernel_command_line =3D self.KERNEL_COMMON_COMMAND_LINE + ( - 'console=3D${console} ' - 'mem=3D${mem} ' - 'initcall_blacklist=3Dnpcm_i2c_bus_driver_init ' - 'systemd.mask=3Dsystemd-random-seed.service ' - 'systemd.mask=3Ddropbearkey.service ' - ) - - self.wait_for_console_pattern('> BootBlock by Nuvoton') - self.wait_for_console_pattern('>Device: Poleg BMC NPCM730') - self.wait_for_console_pattern('>Skip DDR init.') - self.wait_for_console_pattern('U-Boot ') - interrupt_interactive_console_until_pattern( - self, 'Hit any key to stop autoboot:', 'U-Boot>') - exec_command_and_wait_for_pattern( - self, "setenv bootargs ${bootargs} " + kernel_command_line, - 'U-Boot>') - exec_command_and_wait_for_pattern( - self, 'run romboot', 'Booting Kernel from flash') - self.wait_for_console_pattern('Booting Linux on physical CPU 0x0') - self.wait_for_console_pattern('CPU1: thread -1, cpu 1, socket 0') - self.wait_for_console_pattern('OpenBMC Project Reference Distro') - self.wait_for_console_pattern('gsj login:') - - def test_arm_quanta_gsj_initrd(self): - """ - :avocado: tags=3Darch:arm - :avocado: tags=3Dmachine:quanta-gsj - :avocado: tags=3Daccel:tcg - """ - initrd_url =3D ( - 'https://github.com/hskinnemoen/openbmc/releases/download/' - '20200711-gsj-qemu-0/obmc-phosphor-initramfs-gsj.cpio.xz') - initrd_hash =3D '98fefe5d7e56727b1eb17d5c00311b1b5c945300' - initrd_path =3D self.fetch_asset(initrd_url, asset_hash=3Dinitrd_h= ash) - kernel_url =3D ( - 'https://github.com/hskinnemoen/openbmc/releases/download/' - '20200711-gsj-qemu-0/uImage-gsj.bin') - kernel_hash =3D 'fa67b2f141d56d39b3c54305c0e8a899c99eb2c7' - kernel_path =3D self.fetch_asset(kernel_url, asset_hash=3Dkernel_h= ash) - dtb_url =3D ( - 'https://github.com/hskinnemoen/openbmc/releases/download/' - '20200711-gsj-qemu-0/nuvoton-npcm730-gsj.dtb') - dtb_hash =3D '18315f7006d7b688d8312d5c727eecd819aa36a4' - dtb_path =3D self.fetch_asset(dtb_url, asset_hash=3Ddtb_hash) - - self.vm.set_console() - kernel_command_line =3D (self.KERNEL_COMMON_COMMAND_LINE + - 'console=3DttyS0,115200n8 ' - 'earlycon=3Duart8250,mmio32,0xf0001000') - self.vm.add_args('-kernel', kernel_path, - '-initrd', initrd_path, - '-dtb', dtb_path, - '-append', kernel_command_line) - self.vm.launch() - - self.wait_for_console_pattern('Booting Linux on physical CPU 0x0') - self.wait_for_console_pattern('CPU1: thread -1, cpu 1, socket 0') - self.wait_for_console_pattern( - 'Give root password for system maintenance') diff --git a/tests/functional/meson.build b/tests/functional/meson.build index 1bc5ba5229..f0326788f0 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -27,6 +27,7 @@ test_timeouts =3D { 'arm_collie' : 180, 'arm_cubieboard' : 360, 'arm_orangepi' : 540, + 'arm_quanta_gsj' : 240, 'arm_raspi2' : 120, 'arm_tuxrun' : 240, 'arm_sx1' : 360, @@ -85,6 +86,7 @@ tests_arm_system_thorough =3D [ 'arm_emcraft_sf2', 'arm_integratorcp', 'arm_orangepi', + 'arm_quanta_gsj', 'arm_raspi2', 'arm_smdkc210', 'arm_sx1', diff --git a/tests/functional/test_arm_quanta_gsj.py b/tests/functional/tes= t_arm_quanta_gsj.py new file mode 100755 index 0000000000..7aa5209bea --- /dev/null +++ b/tests/functional/test_arm_quanta_gsj.py @@ -0,0 +1,94 @@ +#!/usr/bin/env python3 +# +# Functional test that boots a Linux kernel and checks the console +# +# SPDX-License-Identifier: GPL-2.0-or-later + +import os + +from qemu_test import LinuxKernelTest, Asset, exec_command_and_wait_for_pa= ttern +from qemu_test import interrupt_interactive_console_until_pattern +from unittest import skipUnless + +class EmcraftSf2Machine(LinuxKernelTest): + + ASSET_IMAGE =3D Asset( + ('https://github.com/hskinnemoen/openbmc/releases/download/' + '20200711-gsj-qemu-0/obmc-phosphor-image-gsj.static.mtd.gz'), + 'eccd4e375cde53034c84aece5c511932cacf838d9fd3f63da368a511757da72b') + + ASSET_INITRD =3D Asset( + ('https://github.com/hskinnemoen/openbmc/releases/download/' + '20200711-gsj-qemu-0/obmc-phosphor-initramfs-gsj.cpio.xz'), + '37b05009fc54db1434beac12bd7ff99a2e751a2f032ee18d9042f991dd0cdeaa') + + ASSET_KERNEL =3D Asset( + ('https://github.com/hskinnemoen/openbmc/releases/download/' + '20200711-gsj-qemu-0/uImage-gsj.bin'), + 'ce6d6b37bff46c74fc7b1e90da10a431cc37a62cdb35ec199fa73473d0790110') + + ASSET_DTB =3D Asset( + ('https://github.com/hskinnemoen/openbmc/releases/download/' + '20200711-gsj-qemu-0/nuvoton-npcm730-gsj.dtb'), + '3249b2da787d4b9ad4e61f315b160abfceb87b5e1895a7ce898ce7f40c8d4045') + + @skipUnless(os.getenv('QEMU_TEST_TIMEOUT_EXPECTED'), 'Test might timeo= ut') + def test_arm_quanta_gsj(self): + self.set_machine('quanta-gsj') + image_path =3D self.uncompress(ASSET_IMAGE, 'obmc.mtd', format=3D'= gz') + + self.vm.set_console() + drive_args =3D 'file=3D' + image_path + ',if=3Dmtd,bus=3D0,unit=3D= 0' + self.vm.add_args('-drive', drive_args) + self.vm.launch() + + # Disable drivers and services that stall for a long time during b= oot, + # to avoid running past the 90-second timeout. These may be removed + # as the corresponding device support is added. + kernel_command_line =3D self.KERNEL_COMMON_COMMAND_LINE + ( + 'console=3D${console} ' + 'mem=3D${mem} ' + 'initcall_blacklist=3Dnpcm_i2c_bus_driver_init ' + 'systemd.mask=3Dsystemd-random-seed.service ' + 'systemd.mask=3Ddropbearkey.service ' + ) + + self.wait_for_console_pattern('> BootBlock by Nuvoton') + self.wait_for_console_pattern('>Device: Poleg BMC NPCM730') + self.wait_for_console_pattern('>Skip DDR init.') + self.wait_for_console_pattern('U-Boot ') + interrupt_interactive_console_until_pattern( + self, 'Hit any key to stop autoboot:', 'U-Boot>') + exec_command_and_wait_for_pattern( + self, "setenv bootargs ${bootargs} " + kernel_command_line, + 'U-Boot>') + exec_command_and_wait_for_pattern( + self, 'run romboot', 'Booting Kernel from flash') + self.wait_for_console_pattern('Booting Linux on physical CPU 0x0') + self.wait_for_console_pattern('CPU1: thread -1, cpu 1, socket 0') + self.wait_for_console_pattern('OpenBMC Project Reference Distro') + self.wait_for_console_pattern('gsj login:') + + def test_arm_quanta_gsj_initrd(self): + self.set_machine('quanta-gsj') + initrd_path =3D self.ASSET_INITRD.fetch() + kernel_path =3D self.ASSET_KERNEL.fetch() + dtb_path =3D self.ASSET_DTB.fetch() + + self.vm.set_console() + kernel_command_line =3D (self.KERNEL_COMMON_COMMAND_LINE + + 'console=3DttyS0,115200n8 ' + 'earlycon=3Duart8250,mmio32,0xf0001000') + self.vm.add_args('-kernel', kernel_path, + '-initrd', initrd_path, + '-dtb', dtb_path, + '-append', kernel_command_line) + self.vm.launch() + + self.wait_for_console_pattern('Booting Linux on physical CPU 0x0') + self.wait_for_console_pattern('CPU1: thread -1, cpu 1, socket 0') + self.wait_for_console_pattern( + 'Give root password for system maintenance') + +if __name__ =3D=3D '__main__': + LinuxKernelTest.main() --=20 2.47.1