On 11/11/24 07:57, Thomas Huth wrote:
On 08/11/2024 16.43, Philippe Mathieu-Daudé wrote:
> Copy/paste the current tests, but call the opposite endianness
> machines, testing:
> - petalogix-s3adsp1800-le machine (little-endian CPU) on the
> qemu-system-microblaze binary (big-endian)
> - petalogix-s3adsp1800-be machine (big-endian CPU) on the
> qemu-system-microblazeel binary (little-endian).
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd(a)linaro.org>
> Reviewed-by: Richard Henderson <richard.henderson(a)linaro.org>
> ---
> .../functional/test_microblaze_s3adsp1800.py | 21 +++++++++++++++++++
> .../test_microblazeel_s3adsp1800.py | 19 +++++++++++++++++
> 2 files changed, 40 insertions(+)
>
> diff --git a/tests/functional/test_microblaze_s3adsp1800.py
> b/tests/functional/test_microblaze_s3adsp1800.py
> index 2b2f782270..7f5e8b6024 100755
> --- a/tests/functional/test_microblaze_s3adsp1800.py
> +++ b/tests/functional/test_microblaze_s3adsp1800.py
> @@ -36,5 +36,26 @@ def test_microblaze_s3adsp1800_be(self):
> # message, that's why we don't test for a later string here.
> This
> # needs some investigation by a microblaze wizard one day...
> + ASSET_IMAGE_LE = Asset(
> +
> ('http://www.qemu-advent-calendar.org/2023/download/day13.tar.gz'),
> +
> 'b9b3d43c5dd79db88ada495cc6e0d1f591153fe41355e925d791fbf44de50c22')
> +
> + def test_microblaze_s3adsp1800_le(self):
> + self.require_netdev('user')
> + self.set_machine('petalogix-s3adsp1800-le')
> + file_path = self.ASSET_IMAGE_LE.fetch()
> + archive_extract(file_path, self.workdir)
> + self.vm.set_console()
> + self.vm.add_args('-kernel', self.workdir +
'/day13/xmaton.bin')
> + self.vm.add_args('-nic', 'user,tftp=' + self.workdir +
> '/day13/')
> + 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')
> +
> if __name__ == '__main__':
> QemuSystemTest.main()
> diff --git a/tests/functional/test_microblazeel_s3adsp1800.py
> b/tests/functional/test_microblazeel_s3adsp1800.py
> index 1aee5149fb..60543009ba 100755
> --- a/tests/functional/test_microblazeel_s3adsp1800.py
> +++ b/tests/functional/test_microblazeel_s3adsp1800.py
> @@ -38,5 +38,24 @@ def test_microblazeel_s3adsp1800_le(self):
> 'tftp -g -r xmaton.png 10.0.2.2 ; md5sum xmaton.png',
> '821cd3cab8efd16ad6ee5acc3642a8ea')
> + ASSET_IMAGE_BE = Asset(
> + ('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/'
> + 'day17.tar.xz'),
> +
> '3ba7439dfbea7af4876662c97f8e1f0cdad9231fc166e4861d17042489270057')
> +
> + def test_microblazeel_s3adsp1800_be(self):
> + self.set_machine('petalogix-s3adsp1800-be')
> + file_path = self.ASSET_IMAGE_BE.fetch()
> + archive_extract(file_path, self.workdir)
> + self.vm.set_console()
> + self.vm.add_args('-kernel', self.workdir +
> '/day17/ballerina.bin')
> + self.vm.launch()
> + wait_for_console_pattern(self, 'This architecture does not
> have '
> + 'kernel memory protection')
> + # Note:
> + # The kernel sometimes gets stuck after the "This
> architecture ..."
> + # message, that's why we don't test for a later string here.
> This
> + # needs some investigation by a microblaze wizard one day...
> +
> if __name__ == '__main__':
> QemuSystemTest.main()
Duplicating code is ugly. I think I'd rather prefer to merge the two
files into one and then add that test to both targets in meson.build.
In v2 I mentioned I'll merge them in a following up patch. I'll try
to do that for v4.