Philippe Mathieu-Daudé <phi...@linaro.org> writes:

> SPI-SD adapter should be usable, even without any SD card
> wired. Refactor test_riscv64_sifive_u_mmc_spi() to make it
> more generic and add another test, inspired by this report:
> https://lore.kernel.org/qemu-devel/5b2dc427-f0db-4332-a997-fe0c82415...@roeck-us.net/
>
> Inspired-by: Guenter Roeck <li...@roeck-us.net>
> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
> ---
>  tests/functional/test_riscv64_sifive_u.py | 22 +++++++++++++++++-----
>  1 file changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/tests/functional/test_riscv64_sifive_u.py 
> b/tests/functional/test_riscv64_sifive_u.py
> index dc4cb8a4a96..f7ab1abfd56 100755
> --- a/tests/functional/test_riscv64_sifive_u.py
> +++ b/tests/functional/test_riscv64_sifive_u.py
> @@ -27,25 +27,37 @@ class SifiveU(LinuxKernelTest):
>           'rootfs.ext2.gz'),
>          'b6ed95610310b7956f9bf20c4c9c0c05fea647900df441da9dfe767d24e8b28b')
>  
> -    def test_riscv64_sifive_u_mmc_spi(self):
> +    def do_test_riscv64_sifive_u_mmc_spi(self, connect_card):
>          self.set_machine('sifive_u')
>          kernel_path = self.ASSET_KERNEL.fetch()
>          rootfs_path = self.uncompress(self.ASSET_ROOTFS)
>  
>          self.vm.set_console()
>          kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
> -                               'root=/dev/mmcblk0 rootwait '
>                                 'earlycon=sbi console=ttySIF0 '
> -                               'panic=-1 noreboot')
> +                               'root=/dev/mmcblk0 ')
>          self.vm.add_args('-kernel', kernel_path,
> -                         '-drive', f'file={rootfs_path},if=sd,format=raw',
>                           '-append', kernel_command_line,
>                           '-no-reboot')
> +        if connect_card:
> +            self.vm.add_args('-drive', 
> f'file={rootfs_path},if=sd,format=raw')
> +            kernel_command_line += 'panic=-1 noreboot rootwait '
> +            pattern = 'Boot successful.'
> +        else:
> +            kernel_command_line += 'panic=0 noreboot '
> +            pattern = 'Cannot open root device "mmcblk0" or 
> unknown-block(0,0)'
> +
>          self.vm.launch()
> -        self.wait_for_console_pattern('Boot successful.')
> +        self.wait_for_console_pattern(pattern)
>  
>          os.remove(rootfs_path)
>  
> +    def _test_riscv64_sifive_u_nommc_spi(self):
> +        self.do_test_riscv64_sifive_u_mmc_spi(False)

This test won't run because of the leading _

> +
> +    def test_riscv64_sifive_u_mmc_spi(self):
> +        self.do_test_riscv64_sifive_u_mmc_spi(True)
> +
>  
>  if __name__ == '__main__':
>      LinuxKernelTest.main()

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to