qemu-devel.nongnu.org archive mirror
 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>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: [PATCH v3 2/3] tests/functional: Convert Aspeed arm SDK tests
Date: Fri, 22 Nov 2024 09:21:31 +0100	[thread overview]
Message-ID: <fa39d761-91c5-4cb6-93b3-c077ce51a989@redhat.com> (raw)
In-Reply-To: <20241122073309.1897944-3-clg@redhat.com>

On 22/11/2024 08.33, Cédric Le Goater wrote:
> Drop the SSH connection which was introduced in the avocado tests to
> workaround read issues when interacting with console.
> 
> EXTRA_BOOTARGS was introduced to reduce the console output at Linux
> boot time. This didn't have the desired effect as we still had issues
> when trying to match patterns on the console and we had to use the ssh
> connection as a workaround.
> 
> While at it, remove the U-Boot EXTRA_BOOTARGS variable which has
> become useless.
> 
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
...
> -    def do_test_arm_aspeed_sdk_start(self, image):
> -        self.require_netdev('user')

The require_netdev('user') is gone in the new code, but it still uses "-net 
user" ... so I'd like to suggest to add it in the new code, too?

With that nit fixed:
Reviewed-by: Thomas Huth <thuth@redhat.com>


> -        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 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, 'ast#')
> -        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 GitLab')
> -    def test_arm_ast2500_evb_sdk(self):
> -        """
> -        :avocado: tags=arch:arm
> -        :avocado: tags=machine:ast2500-evb
> -        :avocado: tags=flaky
> -        """
> -
> -        image_url = ('https://github.com/AspeedTech-BMC/openbmc/releases/'
> -                     'download/v08.06/ast2500-default-obmc.tar.gz')
> -        image_hash = ('e1755f3cadff69190438c688d52dd0f0d399b70a1e14b1d3d5540fc4851d38ca')
> -        image_path = self.fetch_asset(image_url, asset_hash=image_hash,
> -                                      algorithm='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 GitLab')
> -    def test_arm_ast2600_evb_sdk(self):
> -        """
> -        :avocado: tags=arch:arm
> -        :avocado: tags=machine:ast2600-evb
> -        :avocado: tags=flaky
> -        """
> -
> -        image_url = ('https://github.com/AspeedTech-BMC/openbmc/releases/'
> -                     'download/v08.06/ast2600-a2-obmc.tar.gz')
> -        image_hash = ('9083506135f622d5e7351fcf7d4e1c7125cee5ba16141220c0ba88931f3681a4')
> -        image_path = self.fetch_asset(image_url, asset_hash=image_hash,
> -                                      algorithm='sha256')
> -        archive.extract(image_path, self.workdir)
> -
> -        self.vm.add_args('-device',
> -                         'tmp105,bus=aspeed.i2c.bus.5,address=0x4d,id=tmp-test');
> -        self.vm.add_args('-device',
> -                         'ds1338,bus=aspeed.i2c.bus.5,address=0x32');
> -        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='/machine/peripheral/tmp-test',
> -                    property='temperature', value=18000);
> -        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_device ; '
> -             'dmesg -c',
> -             'i2c i2c-5: new_device: Instantiated device ds1307 at 0x32');
> -        year = time.strftime("%Y")
> -        self.ssh_command_output_contains('/sbin/hwclock -f /dev/rtc1', year);
> -
> diff --git a/tests/functional/test_arm_aspeed.py b/tests/functional/test_arm_aspeed.py
> index 5fb1adf46439..7644ecbae750 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):
>   
>           self.do_test_arm_aspeed_buildroot_poweroff()
>   
> +    def do_test_arm_aspeed_sdk_start(self, image):
> +        self.vm.set_console()
> +        self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw',
> +                         '-net', 'nic', '-net', 'user', '-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 = Asset(
> +        'https://github.com/AspeedTech-BMC/openbmc/releases/download/v08.06/ast2500-default-obmc.tar.gz',
> +        'e1755f3cadff69190438c688d52dd0f0d399b70a1e14b1d3d5540fc4851d38ca')
> +
> +    def test_arm_ast2500_evb_sdk(self):
> +        self.set_machine('ast2500-evb')
> +
> +        image_path = 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 = Asset(
> +        'https://github.com/AspeedTech-BMC/openbmc/releases/download/v08.06/ast2600-a2-obmc.tar.gz',
> +        '9083506135f622d5e7351fcf7d4e1c7125cee5ba16141220c0ba88931f3681a4')
> +
> +    def test_arm_ast2600_evb_sdk(self):
> +        self.set_machine('ast2600-evb')
> +
> +        image_path = self.ASSET_SDK_V806_AST2600_A2.fetch()
> +
> +        archive_extract(image_path, self.workdir)
> +
> +        self.vm.add_args('-device',
> +            'tmp105,bus=aspeed.i2c.bus.5,address=0x4d,id=tmp-test');
> +        self.vm.add_args('-device',
> +            'ds1338,bus=aspeed.i2c.bus.5,address=0x32');
> +        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-a2:~#')
> +
> +        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='/machine/peripheral/tmp-test',
> +                    property='temperature', value=18000);
> +        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_device',
> +             'i2c i2c-5: new_device: Instantiated device ds1307 at 0x32');
> +        year = time.strftime("%Y")
> +        exec_command_and_wait_for_pattern(self,
> +             '/sbin/hwclock -f /dev/rtc1', year);
> +
> +
>   class AST2x00MachineMMC(LinuxKernelTest):
>   
>       ASSET_RAINIER_EMMC = Asset(



  reply	other threads:[~2024-11-22  8:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-22  7:33 [PATCH v3 0/3] tests/functional: Finish conversion of Aspeed tests Cédric Le Goater
2024-11-22  7:33 ` [PATCH v3 1/3] tests/functional: Convert Aspeed aarch64 SDK tests Cédric Le Goater
2024-11-22  7:33 ` [PATCH v3 2/3] tests/functional: Convert Aspeed arm " Cédric Le Goater
2024-11-22  8:21   ` Thomas Huth [this message]
2024-11-22  9:01     ` Cédric Le Goater
2024-11-22  7:33 ` [PATCH v3 3/3] tests/functional: Remove sleep workarounds from Aspeed tests 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=fa39d761-91c5-4cb6-93b3-c077ce51a989@redhat.com \
    --to=thuth@redhat.com \
    --cc=alex.bennee@linaro.org \
    --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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).