All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wainer dos Santos Moschetta <wainersm@redhat.com>
To: Michael Rolnik <mrolnik@gmail.com>, qemu-devel@nongnu.org
Cc: thuth@redhat.com, me@xcancerberox.com.ar,
	richard.henderson@linaro.org, dovgaluk@ispras.ru,
	imammedo@redhat.com, philmd@redhat.com,
	aleksandar.m.mail@gmail.com
Subject: Re: [PATCH v40 20/21] target/avr: Add Avocado test
Date: Mon, 30 Dec 2019 15:37:08 -0200	[thread overview]
Message-ID: <ce09e537-9d44-7d99-9ce2-23145f8270a7@redhat.com> (raw)
In-Reply-To: <20191229215158.5788-21-mrolnik@gmail.com>

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 <mrolnik@gmail.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Acked-by: Thomas Huth <thuth@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 <mrolnik@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



  reply	other threads:[~2019-12-30 17:38 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-29 21:51 [PATCH v40 00/21] QEMU AVR 8 bit cores Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 01/21] target/avr: Add outward facing interfaces and core CPU logic Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 02/21] target/avr: Add instruction helpers Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 03/21] target/avr: Add instruction translation - Registers definition Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 04/21] target/avr: Add instruction translation - Arithmetic and Logic Instructions Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 05/21] target/avr: Add instruction translation - Branch Instructions Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 06/21] target/avr: Add instruction translation - Data Transfer Instructions Michael Rolnik
2019-12-29 22:31   ` Philippe Mathieu-Daudé
2019-12-29 21:51 ` [PATCH v40 07/21] target/avr: Add instruction translation - Bit and Bit-test Instructions Michael Rolnik
2019-12-29 22:32   ` Philippe Mathieu-Daudé
2019-12-29 21:51 ` [PATCH v40 08/21] target/avr: Add instruction translation - MCU Control Instructions Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 09/21] target/avr: Add instruction translation - CPU main translation function Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 10/21] target/avr: Add instruction disassembly function Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 11/21] hw/avr: Add limited support for USART peripheral Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 12/21] hw/avr: Add limited support for 16 bit timer peripheral Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 13/21] hw/avr: Add dummy mask device Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 14/21] hw/avr: Add example board configuration Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 15/21] target/avr: Add section about AVR into QEMU documentation Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 16/21] target/avr: Register AVR support with the rest of QEMU Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 17/21] target/avr: Add machine none test Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 18/21] target/avr: Update build system Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 19/21] target/avr: Add boot serial test Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 20/21] target/avr: Add Avocado test Michael Rolnik
2019-12-30 17:37   ` Wainer dos Santos Moschetta [this message]
2019-12-30 18:15     ` Michael Rolnik
2019-12-29 21:51 ` [PATCH v40 21/21] target/avr: Update MAINTAINERS file Michael Rolnik
2020-01-12 18:19 ` [PATCH v40 00/21] QEMU AVR 8 bit cores Michael Rolnik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ce09e537-9d44-7d99-9ce2-23145f8270a7@redhat.com \
    --to=wainersm@redhat.com \
    --cc=aleksandar.m.mail@gmail.com \
    --cc=dovgaluk@ispras.ru \
    --cc=imammedo@redhat.com \
    --cc=me@xcancerberox.com.ar \
    --cc=mrolnik@gmail.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.