From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:45809) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gpDvj-0008E8-9q for qemu-devel@nongnu.org; Thu, 31 Jan 2019 10:07:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gpDvi-0002MF-6Y for qemu-devel@nongnu.org; Thu, 31 Jan 2019 10:07:03 -0500 References: <20190117185628.21862-1-crosa@redhat.com> <20190117185628.21862-14-crosa@redhat.com> <3b057e17-7e51-e547-69fb-fbdd4f3ecca3@redhat.com> <79c6806a-f722-3847-0dcb-23f20c70570b@redhat.com> <781af7d9-8e76-f431-ede3-549a69e01f1e@redhat.com> From: Cleber Rosa Message-ID: <0bf0bab7-7d05-4a46-19cb-e025e46a8969@redhat.com> Date: Thu, 31 Jan 2019 10:06:57 -0500 MIME-Version: 1.0 In-Reply-To: <781af7d9-8e76-f431-ede3-549a69e01f1e@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 13/18] Boot Linux Console Test: add a test for mips64el + malta List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= , qemu-devel@nongnu.org Cc: =?UTF-8?Q?Alex_Benn=c3=a9e?= , Stefan Markovic , Aleksandar Markovic , Eduardo Habkost , Caio Carrara , qemu-s390x@nongnu.org, Aurelien Jarno , Cornelia Huck , Fam Zheng , Wainer dos Santos Moschetta , Aleksandar Rikalo , =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= On 1/31/19 5:26 AM, Philippe Mathieu-Daud=C3=A9 wrote: > On 1/31/19 2:34 AM, Cleber Rosa wrote: >> On 1/22/19 5:57 AM, Philippe Mathieu-Daud=C3=A9 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. >>>> >>>> If mips64el 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:mips64el tests/acceptance >>>> $ avocado run -t machine:malta tests/acceptance >>>> >>>> Signed-off-by: Philippe Mathieu-Daud=C3=A9 >>>> Signed-off-by: Cleber Rosa >>>> --- >>>> .travis.yml | 2 +- >>>> tests/acceptance/boot_linux_console.py | 39 +++++++++++++++++++++++= +++ >>>> 2 files changed, 40 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/.travis.yml b/.travis.yml >>>> index 49f9016e6a..28648f7a61 100644 >>>> --- a/.travis.yml >>>> +++ b/.travis.yml >>>> @@ -187,7 +187,7 @@ matrix: >>>> =20 >>>> # Acceptance (Functional) tests >>>> - env: >>>> - - CONFIG=3D"--python=3D/usr/bin/python3 --target-list=3Dx86= _64-softmmu,mips-softmmu" >>>> + - CONFIG=3D"--python=3D/usr/bin/python3 --target-list=3Dx86= _64-softmmu,mips-softmmu,mips64el-softmmu" >>>> - TEST_CMD=3D"make check-acceptance" >>>> addons: >>>> apt: >>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptan= ce/boot_linux_console.py >>>> index 0678ec91d2..20b845fce1 100644 >>>> --- a/tests/acceptance/boot_linux_console.py >>>> +++ b/tests/acceptance/boot_linux_console.py >>>> @@ -9,8 +9,11 @@ >>>> # later. See the COPYING file in the top-level directory. >>>> =20 >>>> import logging >>>> +import os >>>> =20 >>>> from avocado_qemu import Test >>>> +from avocado.utils import process >>>> +from avocado.utils import archive >>>> =20 >>>> =20 >>>> class BootLinuxConsole(Test): >>>> @@ -80,3 +83,39 @@ class BootLinuxConsole(Test): >>>> self.vm.launch() >>>> console_pattern =3D 'Kernel command line: %s' % kernel_comm= and_line >>>> self.wait_for_console_pattern(console_pattern) >>>> + >>>> + def test_mips64el_malta(self): >>>> + """ >>>> + This test requires the ar tool to extract "data.tar.gz" fro= m >>>> + the Debian package. >>>> + >>>> + The kernel can be rebuilt using this Debian kernel source [= 1] and >>>> + following the instructions on [2]. >>>> + >>>> + [1] https://kernel-team.pages.debian.net/kernel-handbook/ch= -common-tasks.html#s-common-official >>>> + [2] http://snapshot.debian.org/package/linux-2.6/2.6.32-48/= #linux-source-2.6.32_2.6.32-48 >>>> + >>>> + :avocado: tags=3Darch:mips64el >>>> + :avocado: tags=3Dmachine:malta >>>> + """ >>>> + deb_url =3D ('http://snapshot.debian.org/archive/debian/201= 30217T032700Z/' >>>> + 'pool/main/l/linux-2.6/' >>>> + 'linux-image-2.6.32-5-5kc-malta_2.6.32-48_mipsel= .deb') >>>> + deb_hash =3D '1aaec92083bf22fda31e0d27fa8d9a388e5fc3d5' >>>> + deb_path =3D self.fetch_asset(deb_url, asset_hash=3Ddeb_has= h) >>>> + >>>> + cwd =3D os.getcwd() >>>> + os.chdir(self.workdir) >>>> + process.run("ar x %s data.tar.gz" % deb_path) >>>> + archive.extract("data.tar.gz", self.workdir) >>>> + os.chdir(cwd) >>>> + kernel_path =3D self.workdir + '/boot/vmlinux-2.6.32-5-5kc-= malta' >>>> + >>>> + self.vm.set_machine('malta') >>>> + self.vm.set_console() >>>> + kernel_command_line =3D 'console=3DttyS0 printk.time=3D0' >>> >>> What about having a generic KERNEL_COMMON_COMMAND_LINE=3D'printk.time= =3D0 ' >>> then using >>> kernel_command_line =3D KERNEL_COMMON_COMMAND_LINE + 'console=3Dtty= S0' >>> in each tests of this series? >>> >> >> Not sure... I do like the fact that it's more uniform, but I don't lik= e >> the locality aspect. Having to refer back to something defined either >> in the module or class level for something so small is a big con, IMO. >> >> I'll keep it AS IS for now, and if more people feel like it's a good >> idea, or you feel stronger that it's a good idea, I can add it in the >> next version. >=20 > I'm fine with that, however I'd really like all the Linux tests to use > "printk.time=3D0" in their kernel cmdline, it really simplify > parsing/diffing the console output. >=20 OK, I'll include that in v2. Thanks! - Cleber. >>>> + self.vm.add_args('-kernel', kernel_path, >>>> + '-append', kernel_command_line) >>>> + self.vm.launch() >>>> + console_pattern =3D 'Kernel command line: %s' % kernel_comm= and_line >>>> + self.wait_for_console_pattern(console_pattern) >>>> >>