All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: "Cédric Le Goater" <clg@redhat.com>,
	qemu-devel@nongnu.org, qemu-arm@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Steven Lee" <steven_lee@aspeedtech.com>,
	"Troy Lee" <leetroy@gmail.com>,
	"Jamin Lin" <jamin_lin@aspeedtech.com>,
	"Andrew Jeffery" <andrew@codeconstruct.com.au>,
	"Joel Stanley" <joel@jms.id.au>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH v1 2/4] tests/functional: Convert Aspeed aarch64 SDK tests
Date: Tue, 12 Nov 2024 07:53:35 +0100	[thread overview]
Message-ID: <e556df7b-86c6-487d-b64a-03d0e698f973@redhat.com> (raw)
In-Reply-To: <20241112062806.838717-3-clg@redhat.com>

On 12/11/2024 07.28, Cédric Le Goater wrote:
> Drop the SSH connection which was introduced in the avocado tests to
> workaround read issues when interacting with console.
> 
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
>   tests/avocado/machine_aspeed.py         | 78 --------------------
>   tests/functional/meson.build            |  2 +
>   tests/functional/test_aarch64_aspeed.py | 97 +++++++++++++++++++++++++
>   3 files changed, 99 insertions(+), 78 deletions(-)
>   create mode 100644 tests/functional/test_aarch64_aspeed.py
> 
> diff --git a/tests/avocado/machine_aspeed.py b/tests/avocado/machine_aspeed.py
> index 241ef180affc..2240c82abff9 100644
> --- a/tests/avocado/machine_aspeed.py
> +++ b/tests/avocado/machine_aspeed.py
> @@ -59,17 +59,6 @@ def do_test_arm_aspeed_sdk_start(self, image):
>               self, 'boot', '## Loading kernel from FIT Image')
>           self.wait_for_console_pattern('Starting kernel ...')
>   
> -    def do_test_aarch64_aspeed_sdk_start(self, image):
> -        self.vm.set_console()
> -        self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw',
> -                         '-net', 'nic', '-net', 'user,hostfwd=:127.0.0.1:0-:22')
> -
> -        self.vm.launch()
> -
> -        self.wait_for_console_pattern('U-Boot 2023.10')
> -        self.wait_for_console_pattern('## Loading kernel from FIT Image')
> -        self.wait_for_console_pattern('Starting kernel ...')
> -
>       @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab')
>       def test_arm_ast2500_evb_sdk(self):
>           """
> @@ -133,70 +122,3 @@ def test_arm_ast2600_evb_sdk(self):
>           year = time.strftime("%Y")
>           self.ssh_command_output_contains('/sbin/hwclock -f /dev/rtc1', year);
>   
> -    def test_aarch64_ast2700_evb_sdk_v09_02(self):
> -        """
> -        :avocado: tags=arch:aarch64
> -        :avocado: tags=machine:ast2700-evb
> -        """
> -
> -        image_url = ('https://github.com/AspeedTech-BMC/openbmc/releases/'
> -                     'download/v09.02/ast2700-default-obmc.tar.gz')
> -        image_hash = 'ac969c2602f4e6bdb69562ff466b89ae3fe1d86e1f6797bb7969d787f82116a7'
> -        image_path = self.fetch_asset(image_url, asset_hash=image_hash,
> -                                      algorithm='sha256')
> -        archive.extract(image_path, self.workdir)
> -
> -        num_cpu = 4
> -        image_dir = self.workdir + '/ast2700-default/'
> -        uboot_size = os.path.getsize(image_dir + 'u-boot-nodtb.bin')
> -        uboot_dtb_load_addr = hex(0x400000000 + uboot_size)
> -
> -        load_images_list = [
> -            {
> -                'addr': '0x400000000',
> -                'file': image_dir + 'u-boot-nodtb.bin'
> -            },
> -            {
> -                'addr': str(uboot_dtb_load_addr),
> -                'file': image_dir + 'u-boot.dtb'
> -            },
> -            {
> -                'addr': '0x430000000',
> -                'file': image_dir + 'bl31.bin'
> -            },
> -            {
> -                'addr': '0x430080000',
> -                'file': image_dir + 'optee/tee-raw.bin'
> -            }
> -        ]
> -
> -        for load_image in load_images_list:
> -            addr = load_image['addr']
> -            file = load_image['file']
> -            self.vm.add_args('-device',
> -                             f'loader,force-raw=on,addr={addr},file={file}')
> -
> -        for i in range(num_cpu):
> -            self.vm.add_args('-device',
> -                             f'loader,addr=0x430000000,cpu-num={i}')
> -
> -        self.vm.add_args('-smp', str(num_cpu))
> -        self.vm.add_args('-device',
> -                         'tmp105,bus=aspeed.i2c.bus.1,address=0x4d,id=tmp-test')
> -        self.do_test_aarch64_aspeed_sdk_start(image_dir + 'image-bmc')
> -        self.wait_for_console_pattern('nodistro.0 ast2700-default ttyS12')
> -
> -        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-1/device/new_device '
> -            '&& dmesg -c',
> -            'i2c i2c-1: new_device: Instantiated device lm75 at 0x4d');
> -
> -        self.ssh_command_output_contains(
> -            'cat /sys/class/hwmon/hwmon20/temp1_input', '0')
> -        self.vm.cmd('qom-set', path='/machine/peripheral/tmp-test',
> -                    property='temperature', value=18000)
> -        self.ssh_command_output_contains(
> -            'cat /sys/class/hwmon/hwmon20/temp1_input', '18000')
> diff --git a/tests/functional/meson.build b/tests/functional/meson.build
> index 758145d1e5fa..c035eba4f9b8 100644
> --- a/tests/functional/meson.build
> +++ b/tests/functional/meson.build
> @@ -11,6 +11,7 @@ endif
>   
>   # Timeouts for individual tests that can be slow e.g. with debugging enabled
>   test_timeouts = {
> +  'aarch64_aspeed' : 600,
>     'aarch64_raspi4' : 480,
>     'aarch64_sbsaref_alpine' : 720,
>     'aarch64_sbsaref_freebsd' : 720,
> @@ -47,6 +48,7 @@ tests_generic_bsduser = [
>   ]
>   
>   tests_aarch64_system_thorough = [
> +  'aarch64_aspeed',
>     'aarch64_raspi3',
>     'aarch64_raspi4',
>     'aarch64_sbsaref',
> diff --git a/tests/functional/test_aarch64_aspeed.py b/tests/functional/test_aarch64_aspeed.py
> new file mode 100644
> index 000000000000..c61e34242d5a
> --- /dev/null
> +++ b/tests/functional/test_aarch64_aspeed.py
> @@ -0,0 +1,97 @@
> +#!/usr/bin/env python3
> +#
> +# Functional test that boots the ASPEED SoCs with firmware
> +#
> +# Copyright (C) 2022 ASPEED Technology Inc
> +#
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +
> +import sys
> +import os
> +
> +from qemu_test import QemuSystemTest, Asset
> +from qemu_test import wait_for_console_pattern
> +from qemu_test import exec_command_and_wait_for_pattern
> +from qemu_test.utils import archive_extract
> +
> +class AST2x00MachineSDK(QemuSystemTest):
> +
> +    def do_test_aarch64_aspeed_sdk_start(self, image):
> +        self.vm.set_console()
> +        self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw',
> +                         '-net', 'nic', '-snapshot')

Running QEMU with just "-net nic" but no other "-net" option normally 
produces a warning à la "warning: hub 0 is not connected to host network" 
... it's likely hidden in a log file here, so it does not really matter, but 
in case you respin the series anyway, you could maybe also try without the 
"-net nic" here.

Anyway,
Reviewed-by: Thomas Huth <thuth@redhat.com>


  reply	other threads:[~2024-11-12  6:54 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-12  6:28 [PATCH v1 0/4] tests/functional: Finish conversion of Aspeed tests Cédric Le Goater
2024-11-12  6:28 ` [PATCH v1 1/4] tests/functional: Introduce _console_read() Cédric Le Goater
2024-11-12  7:11   ` Thomas Huth
2024-11-12  8:01     ` Cédric Le Goater
2024-11-12  6:28 ` [PATCH v1 2/4] tests/functional: Convert Aspeed aarch64 SDK tests Cédric Le Goater
2024-11-12  6:53   ` Thomas Huth [this message]
2024-11-12  8:02     ` Cédric Le Goater
2024-11-12  6:28 ` [PATCH v1 3/4] tests/functional: Convert Aspeed arm " Cédric Le Goater
2024-11-12  6:28 ` [PATCH v1 4/4] tests/functional: Remove sleep workarounds from Aspeed tests Cédric Le Goater
2024-11-12  7:14   ` Thomas Huth
2024-11-12  8:03     ` Cédric Le Goater

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e556df7b-86c6-487d-b64a-03d0e698f973@redhat.com \
    --to=thuth@redhat.com \
    --cc=andrew@codeconstruct.com.au \
    --cc=clg@redhat.com \
    --cc=jamin_lin@aspeedtech.com \
    --cc=joel@jms.id.au \
    --cc=leetroy@gmail.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=steven_lee@aspeedtech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.