Message ID | 20190117185628.21862-19-crosa@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Acceptance Tests: target architecture support | expand |
On Thu, Jan 17, 2019 at 01:56:28PM -0500, Cleber Rosa wrote: > Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta > board and verify the serial is working. One extra command added to > the QEMU command line is '-vga std', because the kernel used is > known to crash without it. > > If alpha is a target being built, "make check-acceptance" will > automatically include this test by the use of the "arch:alpha" tags. > > Alternatively, this test can be run using: > > $ avocado run -t arch:alpha tests/acceptance > $ avocado run -t machine:clipper 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 | 22 ++++++++++++++++++++++ > 3 files changed, 23 insertions(+), 2 deletions(-) > > diff --git a/.travis.yml b/.travis.yml > index 0d5a4b104b..73a113af87 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,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu" > + - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu,alpha-softmmu" > - TEST_CMD="make check-acceptance" > addons: > apt: > diff --git a/scripts/qemu.py b/scripts/qemu.py > index 1531e28fc1..a704da418a 100644 > --- a/scripts/qemu.py > +++ b/scripts/qemu.py > @@ -34,7 +34,6 @@ def kvm_available(target_arch=None): > > #: Maps machine types to the preferred console device types > CONSOLE_DEV_TYPES = { > - r'^clipper$': 'isa-serial', > r'^(pc.*|q35.*|isapc)$': 'isa-serial', > r'^(40p|powernv|prep)$': 'isa-serial', > r'^s390-ccw-virtio.*': 'sclpconsole', > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index c4d5477d45..a8028a39d4 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -197,3 +197,25 @@ class BootLinuxConsole(Test): > self.vm.launch() > console_pattern = 'Kernel command line: %s' % kernel_command_line > self.wait_for_console_pattern(console_pattern) > + > + def test_alpha_clipper(self): > + """ > + :avocado: tags=arch:alpha > + :avocado: tags=machine:clipper > + """ > + kernel_url = ('http://archive.debian.org/debian/dists/lenny/main/' > + 'installer-alpha/current/images/cdrom/vmlinuz') > + kernel_hash = '3a943149335529e2ed3e74d0d787b85fb5671ba3' > + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash) > + > + uncompressed_kernel = archive.uncompress(kernel_path, self.workdir) > + > + self.vm.set_machine('clipper') > + self.vm.set_console() > + kernel_command_line = 'console=ttyS0 printk.time=0' > + self.vm.add_args('-vga', 'std', > + '-kernel', uncompressed_kernel, > + '-append', kernel_command_line) > + self.vm.launch() > + console_pattern = 'Kernel command line: %s' % kernel_command_line > + self.wait_for_console_pattern(console_pattern) > -- > 2.20.1 >
On 1/17/19 7:56 PM, Cleber Rosa wrote: > Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta > board and verify the serial is working. One extra command added to > the QEMU command line is '-vga std', because the kernel used is > known to crash without it. > > If alpha is a target being built, "make check-acceptance" will > automatically include this test by the use of the "arch:alpha" tags. > > Alternatively, this test can be run using: > > $ avocado run -t arch:alpha tests/acceptance > $ avocado run -t machine:clipper 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 | 22 ++++++++++++++++++++++ > 3 files changed, 23 insertions(+), 2 deletions(-) > > diff --git a/.travis.yml b/.travis.yml > index 0d5a4b104b..73a113af87 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,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu" > + - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu,alpha-softmmu" > - TEST_CMD="make check-acceptance" > addons: > apt: > diff --git a/scripts/qemu.py b/scripts/qemu.py > index 1531e28fc1..a704da418a 100644 > --- a/scripts/qemu.py > +++ b/scripts/qemu.py > @@ -34,7 +34,6 @@ def kvm_available(target_arch=None): > > #: Maps machine types to the preferred console device types > CONSOLE_DEV_TYPES = { > - r'^clipper$': 'isa-serial', Why this change? > r'^(pc.*|q35.*|isapc)$': 'isa-serial', > r'^(40p|powernv|prep)$': 'isa-serial', > r'^s390-ccw-virtio.*': 'sclpconsole', > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index c4d5477d45..a8028a39d4 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -197,3 +197,25 @@ class BootLinuxConsole(Test): > self.vm.launch() > console_pattern = 'Kernel command line: %s' % kernel_command_line > self.wait_for_console_pattern(console_pattern) > + > + def test_alpha_clipper(self): > + """ > + :avocado: tags=arch:alpha > + :avocado: tags=machine:clipper > + """ > + kernel_url = ('http://archive.debian.org/debian/dists/lenny/main/' > + 'installer-alpha/current/images/cdrom/vmlinuz') > + kernel_hash = '3a943149335529e2ed3e74d0d787b85fb5671ba3' > + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash) > + > + uncompressed_kernel = archive.uncompress(kernel_path, self.workdir) > + > + self.vm.set_machine('clipper') > + self.vm.set_console() > + kernel_command_line = 'console=ttyS0 printk.time=0' > + self.vm.add_args('-vga', 'std', > + '-kernel', uncompressed_kernel, > + '-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:52 AM, Philippe Mathieu-Daudé wrote: > On 1/17/19 7:56 PM, Cleber Rosa wrote: >> Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta >> board and verify the serial is working. One extra command added to >> the QEMU command line is '-vga std', because the kernel used is >> known to crash without it. >> >> If alpha is a target being built, "make check-acceptance" will >> automatically include this test by the use of the "arch:alpha" tags. >> >> Alternatively, this test can be run using: >> >> $ avocado run -t arch:alpha tests/acceptance >> $ avocado run -t machine:clipper 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 | 22 ++++++++++++++++++++++ >> 3 files changed, 23 insertions(+), 2 deletions(-) >> >> diff --git a/.travis.yml b/.travis.yml >> index 0d5a4b104b..73a113af87 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,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu" >> + - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu,alpha-softmmu" >> - TEST_CMD="make check-acceptance" >> addons: >> apt: >> diff --git a/scripts/qemu.py b/scripts/qemu.py >> index 1531e28fc1..a704da418a 100644 >> --- a/scripts/qemu.py >> +++ b/scripts/qemu.py >> @@ -34,7 +34,6 @@ def kvm_available(target_arch=None): >> >> #: Maps machine types to the preferred console device types >> CONSOLE_DEV_TYPES = { >> - r'^clipper$': 'isa-serial', > > Why this change? > Because we've come to conclusion (I believe :) that's better, whenever possible, to let QEMU pick the default device type by machine. The discussion happened here: https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg04582.html - Cleber.
On 1/31/19 3:53 AM, Cleber Rosa wrote: > On 1/22/19 5:52 AM, Philippe Mathieu-Daudé wrote: >> On 1/17/19 7:56 PM, Cleber Rosa wrote: >>> Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta >>> board and verify the serial is working. One extra command added to >>> the QEMU command line is '-vga std', because the kernel used is >>> known to crash without it. >>> >>> If alpha is a target being built, "make check-acceptance" will >>> automatically include this test by the use of the "arch:alpha" tags. >>> >>> Alternatively, this test can be run using: >>> >>> $ avocado run -t arch:alpha tests/acceptance >>> $ avocado run -t machine:clipper 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 | 22 ++++++++++++++++++++++ >>> 3 files changed, 23 insertions(+), 2 deletions(-) >>> >>> diff --git a/.travis.yml b/.travis.yml >>> index 0d5a4b104b..73a113af87 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,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu" >>> + - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu,alpha-softmmu" >>> - TEST_CMD="make check-acceptance" >>> addons: >>> apt: >>> diff --git a/scripts/qemu.py b/scripts/qemu.py >>> index 1531e28fc1..a704da418a 100644 >>> --- a/scripts/qemu.py >>> +++ b/scripts/qemu.py >>> @@ -34,7 +34,6 @@ def kvm_available(target_arch=None): >>> >>> #: Maps machine types to the preferred console device types >>> CONSOLE_DEV_TYPES = { >>> - r'^clipper$': 'isa-serial', >> >> Why this change? >> > > Because we've come to conclusion (I believe :) that's better, whenever > possible, to let QEMU pick the default device type by machine. The > discussion happened here: > > https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg04582.html I was expecting this change to be global (in a single patch previous to the target-specific patches). If you prefer to do it a target at a time I'm OK with it but you should add a comment about it in the commit IMHO. Regards, Phil.
On 1/31/19 5:30 AM, Philippe Mathieu-Daudé wrote: > On 1/31/19 3:53 AM, Cleber Rosa wrote: >> On 1/22/19 5:52 AM, Philippe Mathieu-Daudé wrote: >>> On 1/17/19 7:56 PM, Cleber Rosa wrote: >>>> Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta >>>> board and verify the serial is working. One extra command added to >>>> the QEMU command line is '-vga std', because the kernel used is >>>> known to crash without it. >>>> >>>> If alpha is a target being built, "make check-acceptance" will >>>> automatically include this test by the use of the "arch:alpha" tags. >>>> >>>> Alternatively, this test can be run using: >>>> >>>> $ avocado run -t arch:alpha tests/acceptance >>>> $ avocado run -t machine:clipper 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 | 22 ++++++++++++++++++++++ >>>> 3 files changed, 23 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/.travis.yml b/.travis.yml >>>> index 0d5a4b104b..73a113af87 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,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu" >>>> + - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu,alpha-softmmu" >>>> - TEST_CMD="make check-acceptance" >>>> addons: >>>> apt: >>>> diff --git a/scripts/qemu.py b/scripts/qemu.py >>>> index 1531e28fc1..a704da418a 100644 >>>> --- a/scripts/qemu.py >>>> +++ b/scripts/qemu.py >>>> @@ -34,7 +34,6 @@ def kvm_available(target_arch=None): >>>> >>>> #: Maps machine types to the preferred console device types >>>> CONSOLE_DEV_TYPES = { >>>> - r'^clipper$': 'isa-serial', >>> >>> Why this change? >>> >> >> Because we've come to conclusion (I believe :) that's better, whenever >> possible, to let QEMU pick the default device type by machine. The >> discussion happened here: >> >> https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg04582.html > > I was expecting this change to be global (in a single patch previous to > the target-specific patches). If you prefer to do it a target at a time > I'm OK with it but you should add a comment about it in the commit IMHO. > > Regards, > > Phil. > You're right, that's a better approach. I've made this change part of the set_console() changes. Thanks! - Cleber.
diff --git a/.travis.yml b/.travis.yml index 0d5a4b104b..73a113af87 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,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu" + - CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,ppc64-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu,alpha-softmmu" - TEST_CMD="make check-acceptance" addons: apt: diff --git a/scripts/qemu.py b/scripts/qemu.py index 1531e28fc1..a704da418a 100644 --- a/scripts/qemu.py +++ b/scripts/qemu.py @@ -34,7 +34,6 @@ def kvm_available(target_arch=None): #: Maps machine types to the preferred console device types CONSOLE_DEV_TYPES = { - r'^clipper$': 'isa-serial', r'^(pc.*|q35.*|isapc)$': 'isa-serial', r'^(40p|powernv|prep)$': 'isa-serial', r'^s390-ccw-virtio.*': 'sclpconsole', diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index c4d5477d45..a8028a39d4 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -197,3 +197,25 @@ class BootLinuxConsole(Test): self.vm.launch() console_pattern = 'Kernel command line: %s' % kernel_command_line self.wait_for_console_pattern(console_pattern) + + def test_alpha_clipper(self): + """ + :avocado: tags=arch:alpha + :avocado: tags=machine:clipper + """ + kernel_url = ('http://archive.debian.org/debian/dists/lenny/main/' + 'installer-alpha/current/images/cdrom/vmlinuz') + kernel_hash = '3a943149335529e2ed3e74d0d787b85fb5671ba3' + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash) + + uncompressed_kernel = archive.uncompress(kernel_path, self.workdir) + + self.vm.set_machine('clipper') + self.vm.set_console() + kernel_command_line = 'console=ttyS0 printk.time=0' + self.vm.add_args('-vga', 'std', + '-kernel', uncompressed_kernel, + '-append', kernel_command_line) + self.vm.launch() + console_pattern = 'Kernel command line: %s' % kernel_command_line + self.wait_for_console_pattern(console_pattern)