Hi Wainer. thanks for reviewing.
1. when `self.vm.shutdown()` is not called `self.vm.get_log()` returns `ERROR: argument of type 'NoneType' is not iterable` 2. I will remove the unnecessary imports Thanks, Michael Rolnik On Mon, Dec 30, 2019 at 7:37 PM Wainer dos Santos Moschetta < waine...@redhat.com> wrote: > Hi Michael, > > On 12/29/19 7:51 PM, Michael Rolnik wrote: > > The test is based on > > https://github.com/seharris/qemu-avr-tests/tree/master/free-rtos/Demo > > demo which. If working correctly, prints 'ABCDEFGHIJKLMNOPQRSTUVWX' out. > > it also demostrates that timer and IRQ are working > > > > Signed-off-by: Michael Rolnik <mrol...@gmail.com> > > Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > > Tested-by: Philippe Mathieu-Daudé <phi...@redhat.com> > > Acked-by: Thomas Huth <th...@redhat.com> > > --- > > tests/acceptance/machine_avr6.py | 58 ++++++++++++++++++++++++++++++++ > > 1 file changed, 58 insertions(+) > > create mode 100644 tests/acceptance/machine_avr6.py > > > > diff --git a/tests/acceptance/machine_avr6.py > b/tests/acceptance/machine_avr6.py > > new file mode 100644 > > index 0000000000..7a7d8afc29 > > --- /dev/null > > +++ b/tests/acceptance/machine_avr6.py > > @@ -0,0 +1,58 @@ > > +# > > +# QEMU AVR > > +# > > +# Copyright (c) 2019 Michael Rolnik <mrol...@gmail.com> > > +# > > +# This program is free software: you can redistribute it and/or modify > > +# it under the terms of the GNU General Public License as published by > > +# the Free Software Foundation, either version 2 of the License, or > > +# (at your option) any later version. > > +# > > +# This program is distributed in the hope that it will be useful, > > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > +# GNU General Public License for more details. > > +# > > +# You should have received a copy of the GNU General Public License > > +# along with this program. If not, see <http://www.gnu.org/licenses/>. > > +# > > + > > +import logging > > +import time > > +import distutils.spawn > > + > > +from avocado import skipUnless > > +from avocado_qemu import Test > > +from avocado.utils import process > > Please remove unused imports: logging, distutils.spawn, skipUnless and > process. > > > + > > +class AVR6Machine(Test): > > It helps others reading this if you document the test purpose here. > Besides it makes the pylinter happier. ;) > > > + timeout = 5 > > + > > + def test_freertos(self): > > + """ > > + :avocado: tags=arch:avr > > + :avocado: tags=machine:sample > > + """ > > + """ > > + > https://github.com/seharris/qemu-avr-tests/raw/master/free-rtos/Demo/AVR_ATMega2560_GCC/demo.elf > > + constantly prints out > 'ABCDEFGHIJKLMNOPQRSTUVWXABCDEFGHIJKLMNOPQRSTUVWX' > > + """ > > + rom_url = 'https://github.com/seharris/qemu-avr-tests' > > + rom_sha1= '36c3e67b8755dcf37e06af6730ef5d477b8ed16d' > > + rom_url += '/raw/' > > + rom_url += rom_sha1 > > + rom_url += '/free-rtos/Demo/AVR_ATMega2560_GCC/demo.elf' > > + rom_hash = '7eb521f511ca8f2622e0a3c5e8dd686efbb911d4' > > + rom_path = self.fetch_asset(rom_url, asset_hash=rom_hash) > > + > > + self.vm.set_machine('sample') > > + self.vm.add_args('-bios', rom_path) > > + self.vm.add_args('-nographic') > > + self.vm.launch() > > + > > + time.sleep(2) > > + self.vm.shutdown() > > Do you really need to shutdown the VM here? Because it will be shut down > later on avocado_qemu.Test.tearDown() anyway. > > > + > > + match = 'ABCDEFGHIJKLMNOPQRSTUVWXABCDEFGHIJKLMNOPQRSTUVWX' > > + > > + self.assertIn(match, self.vm.get_log()) > > It is a matter of taste, but I would simply do: > > self.assertIn('ABCDEFGHIJKLMNOPQRSTUVWXABCDEFGHIJKLMNOPQRSTUVWX', > > self.vm.get_log()) > > Thanks for writing this acceptance test! > > - Wainer > > -- Best Regards, Michael Rolnik