Message ID | 20190117185628.21862-13-crosa@redhat.com |
---|---|
State | New |
Headers | show |
Series | Acceptance Tests: target architecture support | expand |
On Thu, Jan 17, 2019 at 01:56:22PM -0500, Cleber Rosa wrote: > From: Philippe Mathieu-Daudé <f4bug@amsat.org> > > Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta > board and verify the serial is working. Also, it relies on the serial > device set by the machine itself. > > If mips is a target being built, "make check-acceptance" will > automatically include this test by the use of the "arch:mips" tags. > > Alternatively, this test can be run using: > > $ avocado run -t arch:mips tests/acceptance > $ avocado run -t machine:malta tests/acceptance > $ avocado run -t endian:big tests/acceptance > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > Signed-off-by: Cleber Rosa <crosa@redhat.com> Reviewed-by: Caio Carrara <ccarrara@redhat.com> > --- > .travis.yml | 2 +- > scripts/qemu.py | 1 - > tests/acceptance/boot_linux_console.py | 20 ++++++++++++++++++++ > 3 files changed, 21 insertions(+), 2 deletions(-) > {...} >
Hi Cleber, On 1/17/19 7:56 PM, Cleber Rosa wrote: > From: Philippe Mathieu-Daudé <f4bug@amsat.org> > > Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta > board and verify the serial is working. Also, it relies on the serial > device set by the machine itself. > > If mips is a target being built, "make check-acceptance" will > automatically include this test by the use of the "arch:mips" tags. > > Alternatively, this test can be run using: > > $ avocado run -t arch:mips tests/acceptance > $ avocado run -t machine:malta tests/acceptance > $ avocado run -t endian:big tests/acceptance > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > Signed-off-by: Cleber Rosa <crosa@redhat.com> > --- > .travis.yml | 2 +- > scripts/qemu.py | 1 - > tests/acceptance/boot_linux_console.py | 20 ++++++++++++++++++++ > 3 files changed, 21 insertions(+), 2 deletions(-) > > diff --git a/.travis.yml b/.travis.yml > index 844d514afa..49f9016e6a 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -187,7 +187,7 @@ matrix: > > # Acceptance (Functional) tests > - env: > - - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu" > + - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu" > - TEST_CMD="make check-acceptance" > addons: > apt: > diff --git a/scripts/qemu.py b/scripts/qemu.py > index 88e1608b42..ef84b0f843 100644 > --- a/scripts/qemu.py > +++ b/scripts/qemu.py > @@ -35,7 +35,6 @@ def kvm_available(target_arch=None): > #: Maps machine types to the preferred console device types > CONSOLE_DEV_TYPES = { > r'^clipper$': 'isa-serial', > - r'^malta': 'isa-serial', > r'^(pc.*|q35.*|isapc)$': 'isa-serial', > r'^(40p|powernv|prep)$': 'isa-serial', > r'^pseries.*': 'spapr-vty', > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index 278bb2be3d..0678ec91d2 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -60,3 +60,23 @@ class BootLinuxConsole(Test): > self.vm.launch() > console_pattern = 'Kernel command line: %s' % kernel_command_line > self.wait_for_console_pattern(console_pattern) > + > + def test_mips_malta(self): > + """ > + :avocado: tags=arch:mips > + :avocado: tags=machine:malta > + :avocado: tags=endian:big > + """ > + kernel_url = ('http://people.debian.org/~aurel32/qemu/mips/' > + 'vmlinux-3.2.0-4-4kc-malta') > + kernel_hash = '592e384a4edc16dade52a6cd5c785c637bcbc9ad' > + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash) Alex was concerned about using this "not-so-easily-reproducible" binary: https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg08441.html So I sent another patch using a reproducible one, which you reviewed: https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg02747.html Do you mind base this series on it? Thanks, Phil. > + > + self.vm.set_machine('malta') > + self.vm.set_console() > + kernel_command_line = 'console=ttyS0 printk.time=0' > + self.vm.add_args('-kernel', kernel_path, > + '-append', kernel_command_line) > + self.vm.launch() > + console_pattern = 'Kernel command line: %s' % kernel_command_line > + self.wait_for_console_pattern(console_pattern) >
On 1/22/19 5:16 AM, Philippe Mathieu-Daudé wrote: > Hi Cleber, > > On 1/17/19 7:56 PM, Cleber Rosa wrote: >> From: Philippe Mathieu-Daudé <f4bug@amsat.org> >> >> Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta >> board and verify the serial is working. Also, it relies on the serial >> device set by the machine itself. >> >> If mips is a target being built, "make check-acceptance" will >> automatically include this test by the use of the "arch:mips" tags. >> >> Alternatively, this test can be run using: >> >> $ avocado run -t arch:mips tests/acceptance >> $ avocado run -t machine:malta tests/acceptance >> $ avocado run -t endian:big tests/acceptance >> >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> Signed-off-by: Cleber Rosa <crosa@redhat.com> >> --- >> .travis.yml | 2 +- >> scripts/qemu.py | 1 - >> tests/acceptance/boot_linux_console.py | 20 ++++++++++++++++++++ >> 3 files changed, 21 insertions(+), 2 deletions(-) >> >> diff --git a/.travis.yml b/.travis.yml >> index 844d514afa..49f9016e6a 100644 >> --- a/.travis.yml >> +++ b/.travis.yml >> @@ -187,7 +187,7 @@ matrix: >> >> # Acceptance (Functional) tests >> - env: >> - - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu" >> + - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu" >> - TEST_CMD="make check-acceptance" >> addons: >> apt: >> diff --git a/scripts/qemu.py b/scripts/qemu.py >> index 88e1608b42..ef84b0f843 100644 >> --- a/scripts/qemu.py >> +++ b/scripts/qemu.py >> @@ -35,7 +35,6 @@ def kvm_available(target_arch=None): >> #: Maps machine types to the preferred console device types >> CONSOLE_DEV_TYPES = { >> r'^clipper$': 'isa-serial', >> - r'^malta': 'isa-serial', >> r'^(pc.*|q35.*|isapc)$': 'isa-serial', >> r'^(40p|powernv|prep)$': 'isa-serial', >> r'^pseries.*': 'spapr-vty', >> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py >> index 278bb2be3d..0678ec91d2 100644 >> --- a/tests/acceptance/boot_linux_console.py >> +++ b/tests/acceptance/boot_linux_console.py >> @@ -60,3 +60,23 @@ class BootLinuxConsole(Test): >> self.vm.launch() >> console_pattern = 'Kernel command line: %s' % kernel_command_line >> self.wait_for_console_pattern(console_pattern) >> + >> + def test_mips_malta(self): >> + """ >> + :avocado: tags=arch:mips >> + :avocado: tags=machine:malta >> + :avocado: tags=endian:big >> + """ >> + kernel_url = ('http://people.debian.org/~aurel32/qemu/mips/' >> + 'vmlinux-3.2.0-4-4kc-malta') >> + kernel_hash = '592e384a4edc16dade52a6cd5c785c637bcbc9ad' >> + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash) > > Alex was concerned about using this "not-so-easily-reproducible" binary: > https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg08441.html > I clearly missed that. > So I sent another patch using a reproducible one, which you reviewed: > https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg02747.html > And I clearly forgot about that :) > Do you mind base this series on it? > > Thanks, > > Phil. Of course! Thanks for pointing that out. - Cleber.
diff --git a/.travis.yml b/.travis.yml index 844d514afa..49f9016e6a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -187,7 +187,7 @@ matrix: # Acceptance (Functional) tests - env: - - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu" + - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu" - TEST_CMD="make check-acceptance" addons: apt: diff --git a/scripts/qemu.py b/scripts/qemu.py index 88e1608b42..ef84b0f843 100644 --- a/scripts/qemu.py +++ b/scripts/qemu.py @@ -35,7 +35,6 @@ def kvm_available(target_arch=None): #: Maps machine types to the preferred console device types CONSOLE_DEV_TYPES = { r'^clipper$': 'isa-serial', - r'^malta': 'isa-serial', r'^(pc.*|q35.*|isapc)$': 'isa-serial', r'^(40p|powernv|prep)$': 'isa-serial', r'^pseries.*': 'spapr-vty', diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index 278bb2be3d..0678ec91d2 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -60,3 +60,23 @@ class BootLinuxConsole(Test): self.vm.launch() console_pattern = 'Kernel command line: %s' % kernel_command_line self.wait_for_console_pattern(console_pattern) + + def test_mips_malta(self): + """ + :avocado: tags=arch:mips + :avocado: tags=machine:malta + :avocado: tags=endian:big + """ + kernel_url = ('http://people.debian.org/~aurel32/qemu/mips/' + 'vmlinux-3.2.0-4-4kc-malta') + kernel_hash = '592e384a4edc16dade52a6cd5c785c637bcbc9ad' + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash) + + self.vm.set_machine('malta') + self.vm.set_console() + kernel_command_line = 'console=ttyS0 printk.time=0' + self.vm.add_args('-kernel', kernel_path, + '-append', kernel_command_line) + self.vm.launch() + console_pattern = 'Kernel command line: %s' % kernel_command_line + self.wait_for_console_pattern(console_pattern)