Message ID | 20200127144126.15515-1-thuth@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/acceptance: Add a test for the canon-a1100 machine | expand |
On 1/27/20 3:41 PM, Thomas Huth wrote: > The canon-a1100 machine can be used with the Barebox firmware. The > QEMU Advent Calendar 2018 features a pre-compiled image which we > can use for testing. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > tests/acceptance/machine_arm_canon-a1100.py | 33 +++++++++++++++++++++ > 1 file changed, 33 insertions(+) > create mode 100644 tests/acceptance/machine_arm_canon-a1100.py > > diff --git a/tests/acceptance/machine_arm_canon-a1100.py b/tests/acceptance/machine_arm_canon-a1100.py > new file mode 100644 > index 0000000000..3888168451 > --- /dev/null > +++ b/tests/acceptance/machine_arm_canon-a1100.py > @@ -0,0 +1,33 @@ > +# Functional test that boots the canon-a1100 machine with firmware > +# > +# Copyright (c) 2020 Red Hat, Inc. > +# > +# Author: > +# Thomas Huth <thuth@redhat.com> > +# > +# This work is licensed under the terms of the GNU GPL, version 2 or > +# later. See the COPYING file in the top-level directory. > + > +from avocado_qemu import Test > +from avocado_qemu import wait_for_console_pattern > +from avocado.utils import archive > + > +class CanonA1100Machine(Test): > + > + timeout = 90 > + > + def test_arm_canona1100(self): > + """ > + :avocado: tags=arch:arm > + :avocado: tags=machine:canon-a1100 To the maintainer taking this, please add: :avocado: tags=pflash_cfi02 Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> console: Switch to console [cs0] console: barebox 2017.02.0 #2 Mon Nov 12 09:28:33 CET 2018 console: Board: Canon PowerShot A1100 IS console: digic-gpio c0220000.gpio: probed gpiochip-1 with base 0 console: cfi_flash f8000000.flash: found cfi flash at 0xf8000000, size 4 MiB console: malloc space: 0x00100000 -> 0x002fffff (size 2 MiB) console: environment load /dev/env0: No such file or directory console: Maybe you have to create the partition. console: running /env/bin/init... PASS (1.86 s) Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> > + """ > + tar_url = ('https://www.qemu-advent-calendar.org' > + '/2018/download/day18.tar.xz') > + tar_hash = '068b5fc4242b29381acee94713509f8a876e9db6' > + file_path = self.fetch_asset(tar_url, asset_hash=tar_hash) > + archive.extract(file_path, self.workdir) > + self.vm.set_console() > + self.vm.add_args('-bios', > + self.workdir + '/day18/barebox.canon-a1100.bin') > + self.vm.launch() > + wait_for_console_pattern(self, 'running /env/bin/init') >
On 27/01/2020 16.18, Philippe Mathieu-Daudé wrote: > On 1/27/20 3:41 PM, Thomas Huth wrote: >> The canon-a1100 machine can be used with the Barebox firmware. The >> QEMU Advent Calendar 2018 features a pre-compiled image which we >> can use for testing. >> >> Signed-off-by: Thomas Huth <thuth@redhat.com> >> --- >> tests/acceptance/machine_arm_canon-a1100.py | 33 +++++++++++++++++++++ >> 1 file changed, 33 insertions(+) >> create mode 100644 tests/acceptance/machine_arm_canon-a1100.py >> >> diff --git a/tests/acceptance/machine_arm_canon-a1100.py >> b/tests/acceptance/machine_arm_canon-a1100.py >> new file mode 100644 >> index 0000000000..3888168451 >> --- /dev/null >> +++ b/tests/acceptance/machine_arm_canon-a1100.py >> @@ -0,0 +1,33 @@ >> +# Functional test that boots the canon-a1100 machine with firmware >> +# >> +# Copyright (c) 2020 Red Hat, Inc. >> +# >> +# Author: >> +# Thomas Huth <thuth@redhat.com> >> +# >> +# This work is licensed under the terms of the GNU GPL, version 2 or >> +# later. See the COPYING file in the top-level directory. >> + >> +from avocado_qemu import Test >> +from avocado_qemu import wait_for_console_pattern >> +from avocado.utils import archive >> + >> +class CanonA1100Machine(Test): >> + >> + timeout = 90 >> + >> + def test_arm_canona1100(self): >> + """ >> + :avocado: tags=arch:arm >> + :avocado: tags=machine:canon-a1100 > > To the maintainer taking this, please add: > > :avocado: tags=pflash_cfi02 Should there be a "device:" between the "=" and the device name? At least I can see some other files using "device:" for similar tags... Thomas
On 1/27/20 4:39 PM, Thomas Huth wrote: > On 27/01/2020 16.18, Philippe Mathieu-Daudé wrote: >> On 1/27/20 3:41 PM, Thomas Huth wrote: >>> The canon-a1100 machine can be used with the Barebox firmware. The >>> QEMU Advent Calendar 2018 features a pre-compiled image which we >>> can use for testing. >>> >>> Signed-off-by: Thomas Huth <thuth@redhat.com> >>> --- >>> tests/acceptance/machine_arm_canon-a1100.py | 33 +++++++++++++++++++++ >>> 1 file changed, 33 insertions(+) >>> create mode 100644 tests/acceptance/machine_arm_canon-a1100.py >>> >>> diff --git a/tests/acceptance/machine_arm_canon-a1100.py >>> b/tests/acceptance/machine_arm_canon-a1100.py >>> new file mode 100644 >>> index 0000000000..3888168451 >>> --- /dev/null >>> +++ b/tests/acceptance/machine_arm_canon-a1100.py >>> @@ -0,0 +1,33 @@ >>> +# Functional test that boots the canon-a1100 machine with firmware >>> +# >>> +# Copyright (c) 2020 Red Hat, Inc. >>> +# >>> +# Author: >>> +# Thomas Huth <thuth@redhat.com> >>> +# >>> +# This work is licensed under the terms of the GNU GPL, version 2 or >>> +# later. See the COPYING file in the top-level directory. >>> + >>> +from avocado_qemu import Test >>> +from avocado_qemu import wait_for_console_pattern >>> +from avocado.utils import archive >>> + >>> +class CanonA1100Machine(Test): >>> + >>> + timeout = 90 >>> + >>> + def test_arm_canona1100(self): >>> + """ >>> + :avocado: tags=arch:arm >>> + :avocado: tags=machine:canon-a1100 >> >> To the maintainer taking this, please add: >> >> :avocado: tags=pflash_cfi02 > > Should there be a "device:" between the "=" and the device name? At > least I can see some other files using "device:" for similar tags... Ah yes you are right, it is clearer.
On 1/27/20 1:41 PM, Philippe Mathieu-Daudé wrote: > On 1/27/20 4:39 PM, Thomas Huth wrote: >> On 27/01/2020 16.18, Philippe Mathieu-Daudé wrote: >>> On 1/27/20 3:41 PM, Thomas Huth wrote: >>>> The canon-a1100 machine can be used with the Barebox firmware. The >>>> QEMU Advent Calendar 2018 features a pre-compiled image which we >>>> can use for testing. >>>> >>>> Signed-off-by: Thomas Huth <thuth@redhat.com> >>>> --- >>>> tests/acceptance/machine_arm_canon-a1100.py | 33 >>>> +++++++++++++++++++++ What is the reason for not adding this case in boot_linux_console suite? >>>> 1 file changed, 33 insertions(+) >>>> create mode 100644 tests/acceptance/machine_arm_canon-a1100.py >>>> >>>> diff --git a/tests/acceptance/machine_arm_canon-a1100.py >>>> b/tests/acceptance/machine_arm_canon-a1100.py >>>> new file mode 100644 >>>> index 0000000000..3888168451 >>>> --- /dev/null >>>> +++ b/tests/acceptance/machine_arm_canon-a1100.py >>>> @@ -0,0 +1,33 @@ >>>> +# Functional test that boots the canon-a1100 machine with firmware >>>> +# >>>> +# Copyright (c) 2020 Red Hat, Inc. >>>> +# >>>> +# Author: >>>> +# Thomas Huth <thuth@redhat.com> >>>> +# >>>> +# This work is licensed under the terms of the GNU GPL, version 2 or >>>> +# later. See the COPYING file in the top-level directory. >>>> + >>>> +from avocado_qemu import Test >>>> +from avocado_qemu import wait_for_console_pattern >>>> +from avocado.utils import archive >>>> + >>>> +class CanonA1100Machine(Test): >>>> + >>>> + timeout = 90 >>>> + >>>> + def test_arm_canona1100(self): >>>> + """ >>>> + :avocado: tags=arch:arm >>>> + :avocado: tags=machine:canon-a1100 >>> >>> To the maintainer taking this, please add: >>> >>> :avocado: tags=pflash_cfi02 >> >> Should there be a "device:" between the "=" and the device name? At >> least I can see some other files using "device:" for similar tags... > > Ah yes you are right, it is clearer. Notice that avocado_qemu won't automatically convert that tag into QEMU's -device option, If that is the intention... Thanks! - Wainer > >
Hey Wainer, On 1/27/20 6:45 PM, Wainer dos Santos Moschetta wrote: > On 1/27/20 1:41 PM, Philippe Mathieu-Daudé wrote: >> On 1/27/20 4:39 PM, Thomas Huth wrote: >>> On 27/01/2020 16.18, Philippe Mathieu-Daudé wrote: >>>> On 1/27/20 3:41 PM, Thomas Huth wrote: >>>>> The canon-a1100 machine can be used with the Barebox firmware. The >>>>> QEMU Advent Calendar 2018 features a pre-compiled image which we >>>>> can use for testing. >>>>> >>>>> Signed-off-by: Thomas Huth <thuth@redhat.com> >>>>> --- >>>>> tests/acceptance/machine_arm_canon-a1100.py | 33 >>>>> +++++++++++++++++++++ > > > What is the reason for not adding this case in boot_linux_console suite? Because there are too many tests in this file and it became hardly maintainable. Also it is easier to add a 'F:' entry in the MAINTAINERS file to each machine section. >>>>> 1 file changed, 33 insertions(+) >>>>> create mode 100644 tests/acceptance/machine_arm_canon-a1100.py >>>>> >>>>> diff --git a/tests/acceptance/machine_arm_canon-a1100.py >>>>> b/tests/acceptance/machine_arm_canon-a1100.py >>>>> new file mode 100644 >>>>> index 0000000000..3888168451 >>>>> --- /dev/null >>>>> +++ b/tests/acceptance/machine_arm_canon-a1100.py >>>>> @@ -0,0 +1,33 @@ >>>>> +# Functional test that boots the canon-a1100 machine with firmware >>>>> +# >>>>> +# Copyright (c) 2020 Red Hat, Inc. >>>>> +# >>>>> +# Author: >>>>> +# Thomas Huth <thuth@redhat.com> >>>>> +# >>>>> +# This work is licensed under the terms of the GNU GPL, version 2 or >>>>> +# later. See the COPYING file in the top-level directory. >>>>> + >>>>> +from avocado_qemu import Test >>>>> +from avocado_qemu import wait_for_console_pattern >>>>> +from avocado.utils import archive >>>>> + >>>>> +class CanonA1100Machine(Test): >>>>> + >>>>> + timeout = 90 >>>>> + >>>>> + def test_arm_canona1100(self): >>>>> + """ >>>>> + :avocado: tags=arch:arm >>>>> + :avocado: tags=machine:canon-a1100 >>>> >>>> To the maintainer taking this, please add: >>>> >>>> :avocado: tags=pflash_cfi02 >>> >>> Should there be a "device:" between the "=" and the device name? At >>> least I can see some other files using "device:" for similar tags... >> >> Ah yes you are right, it is clearer. > > > Notice that avocado_qemu won't automatically convert that tag into > QEMU's -device option, If that is the intention... That could be useful, but currently my usage is 'avocado run -t device:pcnet32' to run all tests using the pcnet32 network device. I have pflash tests which I plan to use the same way. This is a hint to other maintainers, who don't have to look at each test to find the set of tests that suits them. IOW "As a maintainer of the device:pflash I'm interested to run all tests using this device, and while they pass I won't look at them". (This is how I expect maintainers to use the acceptance tests when I add some).
On 27/01/2020 21.56, Philippe Mathieu-Daudé wrote: > Hey Wainer, > > On 1/27/20 6:45 PM, Wainer dos Santos Moschetta wrote: >> On 1/27/20 1:41 PM, Philippe Mathieu-Daudé wrote: >>> On 1/27/20 4:39 PM, Thomas Huth wrote: >>>> On 27/01/2020 16.18, Philippe Mathieu-Daudé wrote: >>>>> On 1/27/20 3:41 PM, Thomas Huth wrote: >>>>>> The canon-a1100 machine can be used with the Barebox firmware. The >>>>>> QEMU Advent Calendar 2018 features a pre-compiled image which we >>>>>> can use for testing. >>>>>> >>>>>> Signed-off-by: Thomas Huth <thuth@redhat.com> >>>>>> --- >>>>>> tests/acceptance/machine_arm_canon-a1100.py | 33 >>>>>> +++++++++++++++++++++ >> >> >> What is the reason for not adding this case in boot_linux_console suite? > > Because there are too many tests in this file and it became hardly > maintainable. Also it is easier to add a 'F:' entry in the MAINTAINERS > file to each machine section. Additionally, this is not a test with a Linux kernel, it uses the Barebox firmware instead. So boot_*linux*_console.py sounds like the wrong place for this test. Thomas
On 1/27/20 6:56 PM, Philippe Mathieu-Daudé wrote: > Hey Wainer, > > On 1/27/20 6:45 PM, Wainer dos Santos Moschetta wrote: >> On 1/27/20 1:41 PM, Philippe Mathieu-Daudé wrote: >>> On 1/27/20 4:39 PM, Thomas Huth wrote: >>>> On 27/01/2020 16.18, Philippe Mathieu-Daudé wrote: >>>>> On 1/27/20 3:41 PM, Thomas Huth wrote: >>>>>> The canon-a1100 machine can be used with the Barebox firmware. The >>>>>> QEMU Advent Calendar 2018 features a pre-compiled image which we >>>>>> can use for testing. >>>>>> >>>>>> Signed-off-by: Thomas Huth <thuth@redhat.com> >>>>>> --- >>>>>> tests/acceptance/machine_arm_canon-a1100.py | 33 >>>>>> +++++++++++++++++++++ >> >> >> What is the reason for not adding this case in boot_linux_console suite? > > Because there are too many tests in this file and it became hardly > maintainable. Also it is easier to add a 'F:' entry in the MAINTAINERS > file to each machine section. > >>>>>> 1 file changed, 33 insertions(+) >>>>>> create mode 100644 tests/acceptance/machine_arm_canon-a1100.py >>>>>> >>>>>> diff --git a/tests/acceptance/machine_arm_canon-a1100.py >>>>>> b/tests/acceptance/machine_arm_canon-a1100.py >>>>>> new file mode 100644 >>>>>> index 0000000000..3888168451 >>>>>> --- /dev/null >>>>>> +++ b/tests/acceptance/machine_arm_canon-a1100.py >>>>>> @@ -0,0 +1,33 @@ >>>>>> +# Functional test that boots the canon-a1100 machine with firmware >>>>>> +# >>>>>> +# Copyright (c) 2020 Red Hat, Inc. >>>>>> +# >>>>>> +# Author: >>>>>> +# Thomas Huth <thuth@redhat.com> >>>>>> +# >>>>>> +# This work is licensed under the terms of the GNU GPL, version >>>>>> 2 or >>>>>> +# later. See the COPYING file in the top-level directory. >>>>>> + >>>>>> +from avocado_qemu import Test >>>>>> +from avocado_qemu import wait_for_console_pattern >>>>>> +from avocado.utils import archive >>>>>> + >>>>>> +class CanonA1100Machine(Test): >>>>>> + >>>>>> + timeout = 90 >>>>>> + >>>>>> + def test_arm_canona1100(self): >>>>>> + """ >>>>>> + :avocado: tags=arch:arm >>>>>> + :avocado: tags=machine:canon-a1100 >>>>> >>>>> To the maintainer taking this, please add: >>>>> >>>>> :avocado: tags=pflash_cfi02 >>>> >>>> Should there be a "device:" between the "=" and the device name? At >>>> least I can see some other files using "device:" for similar tags... >>> >>> Ah yes you are right, it is clearer. >> >> >> Notice that avocado_qemu won't automatically convert that tag into >> QEMU's -device option, If that is the intention... > > That could be useful, but currently my usage is 'avocado run -t > device:pcnet32' to run all tests using the pcnet32 network device. > > I have pflash tests which I plan to use the same way. > > This is a hint to other maintainers, who don't have to look at each > test to find the set of tests that suits them. > > IOW "As a maintainer of the device:pflash I'm interested to run all > tests using this device, and while they pass I won't look at them". > > (This is how I expect maintainers to use the acceptance tests when I > add some). OK, understood. Thanks for sharing your usage of acceptance tests! - Wainer
On 1/28/20 10:16 AM, Thomas Huth wrote: > On 27/01/2020 21.56, Philippe Mathieu-Daudé wrote: >> Hey Wainer, >> >> On 1/27/20 6:45 PM, Wainer dos Santos Moschetta wrote: >>> On 1/27/20 1:41 PM, Philippe Mathieu-Daudé wrote: >>>> On 1/27/20 4:39 PM, Thomas Huth wrote: >>>>> On 27/01/2020 16.18, Philippe Mathieu-Daudé wrote: >>>>>> On 1/27/20 3:41 PM, Thomas Huth wrote: >>>>>>> The canon-a1100 machine can be used with the Barebox firmware. The >>>>>>> QEMU Advent Calendar 2018 features a pre-compiled image which we >>>>>>> can use for testing. >>>>>>> >>>>>>> Signed-off-by: Thomas Huth <thuth@redhat.com> >>>>>>> --- >>>>>>> tests/acceptance/machine_arm_canon-a1100.py | 33 >>>>>>> +++++++++++++++++++++ >>> >>> What is the reason for not adding this case in boot_linux_console suite? >> Because there are too many tests in this file and it became hardly >> maintainable. Also it is easier to add a 'F:' entry in the MAINTAINERS >> file to each machine section. Maybe it reached an inflection point and deserves to be split among files and directories... > Additionally, this is not a test with a Linux kernel, it uses the > Barebox firmware instead. So boot_*linux*_console.py sounds like the > wrong place for this test. OK, makes complete sense. One last comment about this new file. To not look like boring I let pylint say that for me :) : [wainersm@localhost qemu]$ pylint-3 tests/acceptance/machine_arm_canon-a1100.py ************* Module machine_arm_canon-a1100 tests/acceptance/machine_arm_canon-a1100.py:1:0: C0103: Module name "machine_arm_canon-a1100" doesn't conform to snake_case naming style (invalid-name) With that fix: Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Tested-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Thanks, Wainer > > Thomas
diff --git a/tests/acceptance/machine_arm_canon-a1100.py b/tests/acceptance/machine_arm_canon-a1100.py new file mode 100644 index 0000000000..3888168451 --- /dev/null +++ b/tests/acceptance/machine_arm_canon-a1100.py @@ -0,0 +1,33 @@ +# Functional test that boots the canon-a1100 machine with firmware +# +# Copyright (c) 2020 Red Hat, Inc. +# +# Author: +# Thomas Huth <thuth@redhat.com> +# +# This work is licensed under the terms of the GNU GPL, version 2 or +# later. See the COPYING file in the top-level directory. + +from avocado_qemu import Test +from avocado_qemu import wait_for_console_pattern +from avocado.utils import archive + +class CanonA1100Machine(Test): + + timeout = 90 + + def test_arm_canona1100(self): + """ + :avocado: tags=arch:arm + :avocado: tags=machine:canon-a1100 + """ + tar_url = ('https://www.qemu-advent-calendar.org' + '/2018/download/day18.tar.xz') + tar_hash = '068b5fc4242b29381acee94713509f8a876e9db6' + file_path = self.fetch_asset(tar_url, asset_hash=tar_hash) + archive.extract(file_path, self.workdir) + self.vm.set_console() + self.vm.add_args('-bios', + self.workdir + '/day18/barebox.canon-a1100.bin') + self.vm.launch() + wait_for_console_pattern(self, 'running /env/bin/init')
The canon-a1100 machine can be used with the Barebox firmware. The QEMU Advent Calendar 2018 features a pre-compiled image which we can use for testing. Signed-off-by: Thomas Huth <thuth@redhat.com> --- tests/acceptance/machine_arm_canon-a1100.py | 33 +++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 tests/acceptance/machine_arm_canon-a1100.py