Message ID | 20250206113321.94906-16-philmd@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | hw/microblaze: Allow running cross-endian vCPUs | expand |
On 06/02/2025 12.33, Philippe Mathieu-Daudé wrote: > Move the xmaton and ballerina tests to the parent class. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > .../functional/test_microblaze_s3adsp1800.py | 27 +++++++++++++++++-- > .../test_microblazeel_s3adsp1800.py | 26 +----------------- > 2 files changed, 26 insertions(+), 27 deletions(-) > > diff --git a/tests/functional/test_microblaze_s3adsp1800.py b/tests/functional/test_microblaze_s3adsp1800.py > index 2eff31f13a7..0447097c048 100755 > --- a/tests/functional/test_microblaze_s3adsp1800.py > +++ b/tests/functional/test_microblaze_s3adsp1800.py > @@ -7,6 +7,8 @@ > # 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 > +from qemu_test import exec_command, exec_command_and_wait_for_pattern > from qemu_test import QemuSystemTest, Asset > from qemu_test import wait_for_console_pattern > > @@ -15,13 +17,15 @@ class MicroblazeMachine(QemuSystemTest): > > timeout = 90 > > -class MicroblazeBigEndianMachine(MicroblazeMachine): > - > ASSET_IMAGE_BE = Asset( > ('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/' > 'day17.tar.xz'), > '3ba7439dfbea7af4876662c97f8e1f0cdad9231fc166e4861d17042489270057') > > + ASSET_IMAGE_LE = Asset( > + ('http://www.qemu-advent-calendar.org/2023/download/day13.tar.gz'), > + 'b9b3d43c5dd79db88ada495cc6e0d1f591153fe41355e925d791fbf44de50c22') > + > def do_ballerina_be_test(self, machine): > self.set_machine(machine) > self.archive_extract(self.ASSET_IMAGE_BE) > @@ -36,6 +40,25 @@ def do_ballerina_be_test(self, machine): > # message, that's why we don't test for a later string here. This > # needs some investigation by a microblaze wizard one day... > > + def do_xmaton_le_test(self, machine): > + self.require_netdev('user') > + self.set_machine(machine) > + self.archive_extract(self.ASSET_IMAGE_LE) > + self.vm.set_console() > + self.vm.add_args('-kernel', self.scratch_file('day13', 'xmaton.bin')) > + tftproot = self.scratch_file('day13') > + self.vm.add_args('-nic', f'user,tftp={tftproot}') > + self.vm.launch() > + wait_for_console_pattern(self, 'QEMU Advent Calendar 2023') > + time.sleep(0.1) > + exec_command(self, 'root') > + time.sleep(0.1) Not related to your patch, but we should try to remember to also rework this code to run without the sleeps here - it should now be possible since we reworked the console code to also work with partial lines. For this patch here: Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/tests/functional/test_microblaze_s3adsp1800.py b/tests/functional/test_microblaze_s3adsp1800.py index 2eff31f13a7..0447097c048 100755 --- a/tests/functional/test_microblaze_s3adsp1800.py +++ b/tests/functional/test_microblaze_s3adsp1800.py @@ -7,6 +7,8 @@ # 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 +from qemu_test import exec_command, exec_command_and_wait_for_pattern from qemu_test import QemuSystemTest, Asset from qemu_test import wait_for_console_pattern @@ -15,13 +17,15 @@ class MicroblazeMachine(QemuSystemTest): timeout = 90 -class MicroblazeBigEndianMachine(MicroblazeMachine): - ASSET_IMAGE_BE = Asset( ('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/' 'day17.tar.xz'), '3ba7439dfbea7af4876662c97f8e1f0cdad9231fc166e4861d17042489270057') + ASSET_IMAGE_LE = Asset( + ('http://www.qemu-advent-calendar.org/2023/download/day13.tar.gz'), + 'b9b3d43c5dd79db88ada495cc6e0d1f591153fe41355e925d791fbf44de50c22') + def do_ballerina_be_test(self, machine): self.set_machine(machine) self.archive_extract(self.ASSET_IMAGE_BE) @@ -36,6 +40,25 @@ def do_ballerina_be_test(self, machine): # message, that's why we don't test for a later string here. This # needs some investigation by a microblaze wizard one day... + def do_xmaton_le_test(self, machine): + self.require_netdev('user') + self.set_machine(machine) + self.archive_extract(self.ASSET_IMAGE_LE) + self.vm.set_console() + self.vm.add_args('-kernel', self.scratch_file('day13', 'xmaton.bin')) + tftproot = self.scratch_file('day13') + self.vm.add_args('-nic', f'user,tftp={tftproot}') + self.vm.launch() + wait_for_console_pattern(self, 'QEMU Advent Calendar 2023') + time.sleep(0.1) + exec_command(self, 'root') + time.sleep(0.1) + exec_command_and_wait_for_pattern(self, + 'tftp -g -r xmaton.png 10.0.2.2 ; md5sum xmaton.png', + '821cd3cab8efd16ad6ee5acc3642a8ea') + +class MicroblazeBigEndianMachine(MicroblazeMachine): + def test_microblaze_s3adsp1800_legacy_be(self): self.do_ballerina_be_test('petalogix-s3adsp1800') diff --git a/tests/functional/test_microblazeel_s3adsp1800.py b/tests/functional/test_microblazeel_s3adsp1800.py index a3e8d7ca48e..56645bd0bb2 100755 --- a/tests/functional/test_microblazeel_s3adsp1800.py +++ b/tests/functional/test_microblazeel_s3adsp1800.py @@ -7,36 +7,12 @@ # 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 -from qemu_test import exec_command, exec_command_and_wait_for_pattern -from qemu_test import QemuSystemTest, Asset -from qemu_test import wait_for_console_pattern +from qemu_test import QemuSystemTest from test_microblaze_s3adsp1800 import MicroblazeMachine class MicroblazeLittleEndianMachine(MicroblazeMachine): - ASSET_IMAGE_LE = Asset( - ('http://www.qemu-advent-calendar.org/2023/download/day13.tar.gz'), - 'b9b3d43c5dd79db88ada495cc6e0d1f591153fe41355e925d791fbf44de50c22') - - def do_xmaton_le_test(self, machine): - self.require_netdev('user') - self.set_machine(machine) - self.archive_extract(self.ASSET_IMAGE_LE) - self.vm.set_console() - self.vm.add_args('-kernel', self.scratch_file('day13', 'xmaton.bin')) - tftproot = self.scratch_file('day13') - self.vm.add_args('-nic', f'user,tftp={tftproot}') - self.vm.launch() - wait_for_console_pattern(self, 'QEMU Advent Calendar 2023') - time.sleep(0.1) - exec_command(self, 'root') - time.sleep(0.1) - exec_command_and_wait_for_pattern(self, - 'tftp -g -r xmaton.png 10.0.2.2 ; md5sum xmaton.png', - '821cd3cab8efd16ad6ee5acc3642a8ea') - def test_microblaze_s3adsp1800_legacy_le(self): self.do_xmaton_le_test('petalogix-s3adsp1800')
Move the xmaton and ballerina tests to the parent class. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- .../functional/test_microblaze_s3adsp1800.py | 27 +++++++++++++++++-- .../test_microblazeel_s3adsp1800.py | 26 +----------------- 2 files changed, 26 insertions(+), 27 deletions(-)