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@linaro.org>
>> Reviewed-by: Richard Henderson <richard.henderson@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.