Message ID | 20191028073441.6448-11-philmd@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/acceptance: Queue for 4.2 | expand |
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.
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 + +from avocado import skipIf +from avocado_qemu import MachineTest + + +class Leon3Machine(MachineTest): + + 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 ...')