On Mon, Oct 28, 2019 at 08:34:25AM +0100, Philippe Mathieu-Daudé wrote:
> From: Philippe Mathieu-Daudé <f4bug@amsat.org>
>
> Release notes:
> http://www.helenos.org/wiki/Download#HelenOS0.6.0
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> MAINTAINERS | 1 +
> tests/acceptance/machine_sparc_leon3.py | 37 +++++++++++++++++++++++++
> 2 files changed, 38 insertions(+)
> create mode 100644 tests/acceptance/machine_sparc_leon3.py
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 556ce0bfe3..17ff741c63 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1173,6 +1173,7 @@ S: Maintained
> F: hw/sparc/leon3.c
> F: hw/*/grlib*
> F: include/hw/*/grlib*
> +F: tests/acceptance/machine_sparc_leon3.py
>
> S390 Machines
> -------------
> diff --git a/tests/acceptance/machine_sparc_leon3.py b/tests/acceptance/machine_sparc_leon3.py
> new file mode 100644
> index 0000000000..a1394ba8ad
> --- /dev/null
> +++ b/tests/acceptance/machine_sparc_leon3.py
> @@ -0,0 +1,37 @@
> +# Functional test that boots a Leon3 machine and checks its serial console.
> +#
> +# Copyright (c) Philippe Mathieu-Daudé <f4bug@amsat.org>
> +#
> +# 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 os
> +import logging
> +
Those imports are not needed.
> +from avocado import skipIf
> +from avocado_qemu import MachineTest
> +
> +
> +class Leon3Machine(MachineTest):
I have some diverging opinions on the test class rename (which I'll
address as responses to the respective patches), so I've tested this
using the original name and implementation (from avocado_qemu import
Test).
> +
> + timeout = 60
> +
> + def test_leon3_helenos_uimage(self):
> + """
> + :avocado: tags=arch:sparc
> + :avocado: tags=machine:leon3
> + :avocado: tags=binfmt:uimage
> + """
> + kernel_url = ('http://www.helenos.org/releases/'
> + 'HelenOS-0.6.0-sparc32-leon3.bin')
> + kernel_hash = 'a88c9cfdb8430c66650e5290a08765f9bf049a30'
> + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
> +
> + self.vm.set_machine('leon3_generic')
> + self.vm.set_console()
> + self.vm.add_args('-kernel', kernel_path)
> +
> + self.vm.launch()
> +
> + wait_for_console_pattern(self,'Copyright (c) 2001-2014 HelenOS project')
> + wait_for_console_pattern(self,'Booting the kernel ...')
But this needs an import:
from avocado_qemu import wait_for_console_pattern
> --
> 2.21.0
>
The core of the test is good, and I've tested it with the changes
listed above, and it runs reliably.
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Cleber Rosa <crosa@redhat.com>
Queuing on my python-next branch (and sending shortly in a PR).
Thanks,
- Cleber.