From: Thomas Huth <thuth@redhat.com>
To: "Cédric Le Goater" <clg@kaod.org>,
qemu-devel@nongnu.org, "Peter Maydell" <peter.maydell@linaro.org>
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Cleber Rosa" <crosa@redhat.com>,
"Andrew Jeffery" <andrew@aj.id.au>,
"Joel Stanley" <joel@jms.id.au>,
qemu-arm@nongnu.org
Subject: Re: [PATCH 2/3] tests/avocado/machine_aspeed: Fix the broken ast2[56]00_evb_sdk tests
Date: Fri, 21 Apr 2023 15:00:14 +0200 [thread overview]
Message-ID: <2025fa7c-766e-5a91-0774-740dceadc6e0@redhat.com> (raw)
In-Reply-To: <23d8e66e-7306-2e56-7a20-047904ec751a@kaod.org>
On 21/04/2023 14.54, Cédric Le Goater wrote:
> On 4/21/23 13:03, Thomas Huth wrote:
>> test_arm_ast2500_evb_sdk and test_arm_ast2600_evb_sdk are currently
>> failing. The problem is that they are trying to look for the login
>> prompt that does not have a newline at the end - but the logic in
>> _console_interaction() only handles full lines. It used to work by
>> accident in the past since there were sometimes kernel (warning and
>> error) messages popping up that finally provided a newline character
>> in the output, but since the tests have been changed to run with the
>> "quiet" kernel parameter, this is not working anymore.
>>
>> To make this work reliably, we must not look for the "login:" prompt,
>> but have to use some text ending with a newline instead. And in the
>> ast2600 test, switch to ssh instead of trying to log into the serial
>> console - this works much more reliable and also has the benefit of
>
> Yes. The test ran ~100 times without a failure. The 'dmesg -c' call is
> inelegant but there is not much other solutions.
>
>> excercising the network interface here a little bit, too.
>
> exercising
>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>
> Reviewed-by: Cédric Le Goater <clg@kaod.org>
>
> (one little typo below)
>
> Thanks,
>
> C.
>
>> ---
>> tests/avocado/machine_aspeed.py | 31 ++++++++++++++++++-------------
>> 1 file changed, 18 insertions(+), 13 deletions(-)
>>
>> diff --git a/tests/avocado/machine_aspeed.py
>> b/tests/avocado/machine_aspeed.py
>> index d2c57ccb7e..c9515bafa1 100644
>> --- a/tests/avocado/machine_aspeed.py
>> +++ b/tests/avocado/machine_aspeed.py
>> @@ -8,6 +8,7 @@
>> import time
>> import os
>> +from avocado_qemu import LinuxSSHMixIn
>> from avocado_qemu import QemuSystemTest
>> from avocado_qemu import wait_for_console_pattern
>> from avocado_qemu import exec_command
>> @@ -230,7 +231,7 @@ def test_arm_ast2600_evb_buildroot(self):
>> self.do_test_arm_aspeed_buildroot_poweroff()
>> -class AST2x00MachineSDK(QemuSystemTest):
>> +class AST2x00MachineSDK(QemuSystemTest, LinuxSSHMixIn):
>> EXTRA_BOOTARGS = (
>> 'quiet '
>> @@ -257,7 +258,7 @@ def do_test_arm_aspeed_sdk_start(self, image):
>> self.require_netdev('user')
>> self.vm.set_console()
>> self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw',
>> - '-net', 'nic', '-net', 'user')
>> + '-net', 'nic', '-net',
>> 'user,hostfwd=:127.0.0.1:0-:22')
>> self.vm.launch()
>> self.wait_for_console_pattern('U-Boot 2019.04')
>> @@ -285,7 +286,7 @@ def test_arm_ast2500_evb_sdk(self):
>> self.do_test_arm_aspeed_sdk_start(
>> self.workdir + '/ast2500-default/image-bmc')
>> - self.wait_for_console_pattern('ast2500-default login:')
>> + self.wait_for_console_pattern('nodistro.0 ast2500-default ttyS4')
>> @skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab')
>> def test_arm_ast2600_evb_sdk(self):
>> @@ -305,24 +306,28 @@ def test_arm_ast2600_evb_sdk(self):
>>
>> '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.log.info('going to starrt *******')
>
> 's/rr/r'
Drat, that whole line was just a debug print that I wanted to remove before
sending out the patch ... I'll fix it.
Thomas
>> self.do_test_arm_aspeed_sdk_start(
>> self.workdir + '/ast2600-default/image-bmc')
>> - self.wait_for_console_pattern('ast2600-default login:')
>> - exec_command_and_wait_for_pattern(self, 'root', 'Password:')
>> - exec_command_and_wait_for_pattern(self, '0penBmc',
>> 'root@ast2600-default:~#')
>> + self.wait_for_console_pattern('nodistro.0 ast2600-default ttyS4')
>> - exec_command_and_wait_for_pattern(self,
>> - 'echo lm75 0x4d > /sys/class/i2c-dev/i2c-5/device/new_device',
>> + 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');
>> - exec_command_and_wait_for_pattern(self,
>> + self.ssh_command_output_contains(
>> 'cat /sys/class/hwmon/hwmon19/temp1_input',
>> '0')
>> self.vm.command('qom-set', path='/machine/peripheral/tmp-test',
>> property='temperature', value=18000);
>> - exec_command_and_wait_for_pattern(self,
>> + self.ssh_command_output_contains(
>> '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',
>> + 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")
>> - exec_command_and_wait_for_pattern(self, 'hwclock -f /dev/rtc1',
>> year);
>> + self.ssh_command_output_contains('/sbin/hwclock -f /dev/rtc1',
>> year);
>
next prev parent reply other threads:[~2023-04-21 13:01 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-21 11:03 [PATCH 0/3] tests/avocado/machine_aspeed: Fix the broken ast2[56]00_evb_sdk tests Thomas Huth
2023-04-21 11:03 ` [PATCH 1/3] tests/avocado: Make ssh_command_output_contains() globally available Thomas Huth
2023-04-21 12:48 ` Cédric Le Goater
2023-04-21 11:03 ` [PATCH 2/3] tests/avocado/machine_aspeed: Fix the broken ast2[56]00_evb_sdk tests Thomas Huth
2023-04-21 12:54 ` Cédric Le Goater
2023-04-21 13:00 ` Thomas Huth [this message]
2023-04-21 11:03 ` [PATCH 3/3] MAINTAINERS: Cover tests/avocado/machine_aspeed.py Thomas Huth
2023-04-21 12:48 ` Cédric Le Goater
2023-04-21 13:16 ` [PATCH 0/3] tests/avocado/machine_aspeed: Fix the broken ast2[56]00_evb_sdk tests Alex Bennée
2023-04-21 13:18 ` Thomas Huth
2023-04-21 13:24 ` Alex Bennée
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=2025fa7c-766e-5a91-0774-740dceadc6e0@redhat.com \
--to=thuth@redhat.com \
--cc=andrew@aj.id.au \
--cc=clg@kaod.org \
--cc=crosa@redhat.com \
--cc=joel@jms.id.au \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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).