* [Qemu-devel] [PATCH v3 0/2] mips: Add more Avocado tests @ 2019-06-06 23:02 Philippe Mathieu-Daudé 2019-06-06 23:02 ` [Qemu-devel] [PATCH v3 1/2] BootLinuxConsoleTest: Test nanoMIPS kernels on the I7200 CPU Philippe Mathieu-Daudé 2019-06-06 23:02 ` [Qemu-devel] [PATCH v3 2/2] BootLinuxConsoleTest: Run kerneltests BusyBox on Malta Philippe Mathieu-Daudé 0 siblings, 2 replies; 5+ messages in thread From: Philippe Mathieu-Daudé @ 2019-06-06 23:02 UTC (permalink / raw) To: Eduardo Habkost, qemu-devel Cc: Aleksandar Rikalo, Philippe Mathieu-Daudé, Aleksandar Markovic, Aurelien Jarno Hi, It was a rainy week-end here, so I invested it to automatize some of my MIPS tests. The BootLinuxSshTest is not Global warming friendly, it is not meant to run on a CI system but rather on a workstation previous to post a pull request. It can surely be improved, but it is a good starting point. v3: Addressed issues reported by Cleber (only posting 3/4 and 4/4) v2: Decorate slow tests with skipIf(CONTINUOUS_INTEGRATION): VENV /home/travis/build/philmd/qemu/tests/venv PIP /home/travis/build/philmd/qemu/tests/requirements.txt MKDIR /home/travis/build/philmd/qemu/tests/results AVOCADO tests/acceptance JOB ID : 02a2b1c585c12aebfbd8db2f330ed9730a547ae0 JOB LOG : /home/travis/build/philmd/qemu/tests/results/job-2019-05-23T16.05-02a2b1c/job.log (01/22) acceptance/boot_linux_console.py:BootLinuxConsole.test_x86_64_pc: PASS (5.41 s) (02/22) acceptance/boot_linux_console.py:BootLinuxConsole.test_mips_malta: PASS (3.33 s) (03/22) acceptance/boot_linux_console.py:BootLinuxConsole.test_mips64el_malta: PASS (3.47 s) (04/22) acceptance/boot_linux_console.py:BootLinuxConsole.test_mips_malta_cpio: PASS (15.09 s) (05/22) acceptance/boot_linux_console.py:BootLinuxConsole.test_aarch64_virt: PASS (2.48 s) (06/22) acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_virt: PASS (7.25 s) (07/22) acceptance/boot_linux_console.py:BootLinuxConsole.test_s390x_s390_ccw_virtio: PASS (4.66 s) (08/22) acceptance/boot_linux_console.py:BootLinuxConsole.test_alpha_clipper: PASS (3.37 s) (09/22) acceptance/cpu_queries.py:QueryCPUModelExpansion.test: PASS (0.16 s) (10/22) acceptance/empty_cpu_model.py:EmptyCPUModel.test: PASS (0.02 s) (11/22) acceptance/linux_initrd.py:LinuxInitrd.test_with_2gib_file_should_exit_error_msg_with_linux_v3_6: PASS (3.89 s) (12/22) acceptance/linux_initrd.py:LinuxInitrd.test_with_2gib_file_should_work_with_linux_v4_16: PASS (15.14 s) (13/22) acceptance/linux_ssh_mips_malta.py:LinuxSSH.test_mips_malta32eb_kernel3_2_0: SKIP: Running on Travis-CI (14/22) acceptance/linux_ssh_mips_malta.py:LinuxSSH.test_mips_malta64el_kernel3_2_0: SKIP: Running on Travis-CI (15/22) acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.23 s) (16/22) acceptance/version.py:Version.test_qmp_human_info_version: PASS (0.04 s) (17/22) acceptance/virtio_version.py:VirtioVersionCheck.test_conventional_devs: PASS (1.20 s) (18/22) acceptance/virtio_version.py:VirtioVersionCheck.test_modern_only_devs: PASS (0.41 s) (19/22) acceptance/vnc.py:Vnc.test_no_vnc: PASS (0.03 s) (20/22) acceptance/vnc.py:Vnc.test_no_vnc_change_password: PASS (0.04 s) (21/22) acceptance/vnc.py:Vnc.test_vnc_change_password_requires_a_password: PASS (0.04 s) (22/22) acceptance/vnc.py:Vnc.test_vnc_change_password: PASS (0.04 s) RESULTS : PASS 20 | ERROR 0 | FAIL 0 | SKIP 2 | WARN 0 | INTERRUPT 0 | CANCEL 0 JOB TIME : 68.64 s Job output here: https://travis-ci.org/philmd/qemu/jobs/536369687 "Ran for 16 min 26 sec" Regards, Phil. Philippe Mathieu-Daudé (2): BootLinuxConsoleTest: Test nanoMIPS kernels on the I7200 CPU BootLinuxConsoleTest: Run kerneltests BusyBox on Malta tests/acceptance/boot_linux_console.py | 102 +++++++++++++++++++++++++ 1 file changed, 102 insertions(+) -- 2.20.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH v3 1/2] BootLinuxConsoleTest: Test nanoMIPS kernels on the I7200 CPU 2019-06-06 23:02 [Qemu-devel] [PATCH v3 0/2] mips: Add more Avocado tests Philippe Mathieu-Daudé @ 2019-06-06 23:02 ` Philippe Mathieu-Daudé 2019-06-06 23:02 ` [Qemu-devel] [PATCH v3 2/2] BootLinuxConsoleTest: Run kerneltests BusyBox on Malta Philippe Mathieu-Daudé 1 sibling, 0 replies; 5+ messages in thread From: Philippe Mathieu-Daudé @ 2019-06-06 23:02 UTC (permalink / raw) To: Eduardo Habkost, qemu-devel Cc: Aleksandar Rikalo, Aleksandar Markovic, Aurelien Jarno, Philippe Mathieu-Daudé From: Philippe Mathieu-Daudé <f4bug@amsat.org> Similar to the x86_64/pc test, it boots a Linux kernel on a Malta machine and verify the serial is working. Use the documentation added in commit f7d257cb4a17 to test nanoMIPS kernels and the I7200 CPU. This test can be run using: $ avocado --show=console run -t arch:mipsel tests/acceptance/boot_linux_console.py console: [ 0.000000] Linux version 4.15.18-00432-gb2eb9a8b (emubuild@mipscs563) (gcc version 6.3.0 (Codescape GNU Tools 2018.04-02 for nanoMIPS Linux)) #1 SMP Wed Jun 27 11:10:08 PDT 2018 console: [ 0.000000] GCRs appear to have been moved (expected them at 0x1fbf8000)! console: [ 0.000000] GCRs appear to have been moved (expected them at 0x1fbf8000)! console: [ 0.000000] CPU0 revision is: 00010000 (MIPS GENERIC QEMU) console: [ 0.000000] MIPS: machine is mti,malta console: [ 0.000000] Determined physical RAM map: console: [ 0.000000] memory: 08000000 @ 00000000 (usable) console: [ 0.000000] earlycon: ns16550a0 at I/O port 0x3f8 (options '38400n8') console: [ 0.000000] bootconsole [ns16550a0] enabled console: [ 0.000000] User-defined physical RAM map: console: [ 0.000000] memory: 10000000 @ 00000000 (usable) console: [ 0.000000] Initrd not found or empty - disabling initrd console: [ 0.000000] MIPS CPS SMP unable to proceed without a CM console: [ 0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes. console: [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes console: [ 0.000000] This processor doesn't support highmem. -262144k highmem ignored console: [ 0.000000] Zone ranges: console: [ 0.000000] Normal [mem 0x0000000000000000-0x000000000fffffff] console: [ 0.000000] HighMem empty console: [ 0.000000] Movable zone start for each node console: [ 0.000000] Early memory node ranges console: [ 0.000000] node 0: [mem 0x0000000000000000-0x000000000fffffff] console: [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000000fffffff] console: [ 0.000000] random: get_random_bytes called from start_kernel+0x60/0x2f0 with crng_init=0 console: [ 0.000000] percpu: Embedded 16 pages/cpu @(ptrval) s36620 r8192 d20724 u65536 console: [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64960 console: [ 0.000000] Kernel command line: printk.time=0 mem=256m@@0x0 console=ttyS0 earlycon Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Acked-by: Aleksandar Markovic <amarkovic@wavecomp.com> --- v3: No change --- tests/acceptance/boot_linux_console.py | 58 ++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index 89a2179efc..a7a735c90d 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -10,6 +10,8 @@ import os import logging +import lzma +import shutil from avocado_qemu import Test from avocado.utils import process @@ -138,6 +140,62 @@ class BootLinuxConsole(Test): console_pattern = 'Kernel command line: %s' % kernel_command_line self.wait_for_console_pattern(console_pattern) + def do_test_mips_malta32el_nanomips(self, kernel_url, kernel_hash): + kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash) + kernel_path = self.workdir + "kernel" + with lzma.open(kernel_path_xz, 'rb') as f_in: + with open(kernel_path, 'wb') as f_out: + shutil.copyfileobj(f_in, f_out) + + self.vm.set_machine('malta') + self.vm.set_console() + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE + + 'mem=256m@@0x0 ' + + 'console=ttyS0') + self.vm.add_args('-no-reboot', + '-cpu', 'I7200', + '-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) + + def test_mips_malta32el_nanomips_4k(self): + """ + :avocado: tags=arch:mipsel + :avocado: tags=machine:malta + :avocado: tags=endian:little + """ + kernel_url = ('https://mipsdistros.mips.com/LinuxDistro/nanomips/' + 'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/' + 'generic_nano32r6el_page4k.xz') + kernel_hash = '477456aafd2a0f1ddc9482727f20fe9575565dd6' + self.do_test_mips_malta32el_nanomips(kernel_url, kernel_hash) + + def test_mips_malta32el_nanomips_16k_up(self): + """ + :avocado: tags=arch:mipsel + :avocado: tags=machine:malta + :avocado: tags=endian:little + """ + kernel_url = ('https://mipsdistros.mips.com/LinuxDistro/nanomips/' + 'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/' + 'generic_nano32r6el_page16k_up.xz') + kernel_hash = 'e882868f944c71c816e832e2303b7874d044a7bc' + self.do_test_mips_malta32el_nanomips(kernel_url, kernel_hash) + + def test_mips_malta32el_nanomips_64k_dbg(self): + """ + :avocado: tags=arch:mipsel + :avocado: tags=machine:malta + :avocado: tags=endian:little + """ + kernel_url = ('https://mipsdistros.mips.com/LinuxDistro/nanomips/' + 'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/' + 'generic_nano32r6el_page64k_dbg.xz') + kernel_hash = '18d1c68f2e23429e266ca39ba5349ccd0aeb7180' + self.do_test_mips_malta32el_nanomips(kernel_url, kernel_hash) + def test_aarch64_virt(self): """ :avocado: tags=arch:aarch64 -- 2.20.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH v3 2/2] BootLinuxConsoleTest: Run kerneltests BusyBox on Malta 2019-06-06 23:02 [Qemu-devel] [PATCH v3 0/2] mips: Add more Avocado tests Philippe Mathieu-Daudé 2019-06-06 23:02 ` [Qemu-devel] [PATCH v3 1/2] BootLinuxConsoleTest: Test nanoMIPS kernels on the I7200 CPU Philippe Mathieu-Daudé @ 2019-06-06 23:02 ` Philippe Mathieu-Daudé 2019-06-06 23:28 ` Cleber Rosa 2019-06-07 0:15 ` Aleksandar Markovic 1 sibling, 2 replies; 5+ messages in thread From: Philippe Mathieu-Daudé @ 2019-06-06 23:02 UTC (permalink / raw) To: Eduardo Habkost, qemu-devel Cc: Aleksandar Rikalo, Cleber Rosa, Aleksandar Markovic, Aurelien Jarno, Philippe Mathieu-Daudé From: Philippe Mathieu-Daudé <f4bug@amsat.org> This tests boots a Linux kernel on a Malta machine up to a busybox shell on the serial console. Few commands are executed before halting the machine (via reboot). We use the initrd cpio image from the kerneltests project: https://kerneltests.org/ 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 --show=console run -t arch:mips tests/acceptance/boot_linux_console.py [...] console: Boot successful. [...] console: / # uname -a console: Linux buildroot 4.5.0-2-4kc-malta #1 Debian 4.5.5-1 (2016-05-29) mips GNU/Linux console: / # reboot console: / # reboot: Restarting system Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Acked-by: Aleksandar Markovic <amarkovic@wavecomp.com> Tested-by: Cleber Rosa <crosa@redhat.com> --- v3: Use archive.extract() instead of shutil+gzip (Cleber) --- tests/acceptance/boot_linux_console.py | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index a7a735c90d..751e3bff86 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -49,6 +49,11 @@ class BootLinuxConsole(Test): fail = 'Failure message found in console: %s' % failure_message self.fail(fail) + def exec_command_and_wait_for_pattern(self, command, success_message): + command += '\n' + self.vm.console_socket.sendall(command.encode()) + self.wait_for_console_pattern(success_message) + def extract_from_deb(self, deb, path): """ Extracts a file from a deb package into the test workdir @@ -140,6 +145,45 @@ class BootLinuxConsole(Test): console_pattern = 'Kernel command line: %s' % kernel_command_line self.wait_for_console_pattern(console_pattern) + def test_mips_malta_cpio(self): + """ + :avocado: tags=arch:mips + :avocado: tags=machine:malta + :avocado: tags=endian:big + """ + deb_url = ('http://snapshot.debian.org/archive/debian/' + '20160601T041800Z/pool/main/l/linux/' + 'linux-image-4.5.0-2-4kc-malta_4.5.5-1_mips.deb') + deb_hash = 'a3c84f3e88b54e06107d65a410d1d1e8e0f340f8' + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash) + kernel_path = self.extract_from_deb(deb_path, + '/boot/vmlinux-4.5.0-2-4kc-malta') + initrd_url = ('https://github.com/groeck/linux-build-test/raw/' + '8584a59ed9e5eb5ee7ca91f6d74bbb06619205b8/rootfs/' + 'mips/rootfs.cpio.gz') + initrd_hash = 'bf806e17009360a866bf537f6de66590de349a99' + initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash) + initrd_path = archive.extract(initrd_path_gz, + os.path.join(self.workdir, 'rootfs.cpio')) + self.vm.set_machine('malta') + self.vm.set_console() + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE + + 'console=ttyS0 console=tty ' + + 'rdinit=/sbin/init noreboot') + self.vm.add_args('-kernel', kernel_path, + '-initrd', initrd_path, + '-append', kernel_command_line, + '-no-reboot') + self.vm.launch() + self.wait_for_console_pattern('Boot successful.') + + self.exec_command_and_wait_for_pattern('cat /proc/cpuinfo', + 'BogoMIPS') + self.exec_command_and_wait_for_pattern('uname -a', + 'Debian') + self.exec_command_and_wait_for_pattern('reboot', + 'reboot: Restarting system') + def do_test_mips_malta32el_nanomips(self, kernel_url, kernel_hash): kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash) kernel_path = self.workdir + "kernel" -- 2.20.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH v3 2/2] BootLinuxConsoleTest: Run kerneltests BusyBox on Malta 2019-06-06 23:02 ` [Qemu-devel] [PATCH v3 2/2] BootLinuxConsoleTest: Run kerneltests BusyBox on Malta Philippe Mathieu-Daudé @ 2019-06-06 23:28 ` Cleber Rosa 2019-06-07 0:15 ` Aleksandar Markovic 1 sibling, 0 replies; 5+ messages in thread From: Cleber Rosa @ 2019-06-06 23:28 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: Eduardo Habkost, Aleksandar Rikalo, Philippe Mathieu-Daudé, qemu-devel, Aleksandar Markovic, Aurelien Jarno On Fri, Jun 07, 2019 at 01:02:32AM +0200, Philippe Mathieu-Daudé wrote: > From: Philippe Mathieu-Daudé <f4bug@amsat.org> > > This tests boots a Linux kernel on a Malta machine up to a > busybox shell on the serial console. Few commands are executed > before halting the machine (via reboot). > > We use the initrd cpio image from the kerneltests project: > https://kerneltests.org/ > > 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 --show=console run -t arch:mips tests/acceptance/boot_linux_console.py > [...] > console: Boot successful. > [...] > console: / # uname -a > console: Linux buildroot 4.5.0-2-4kc-malta #1 Debian 4.5.5-1 (2016-05-29) mips GNU/Linux > console: / # reboot > console: / # reboot: Restarting system > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > Acked-by: Aleksandar Markovic <amarkovic@wavecomp.com> > Tested-by: Cleber Rosa <crosa@redhat.com> > --- > v3: Use archive.extract() instead of shutil+gzip (Cleber) > --- > tests/acceptance/boot_linux_console.py | 44 ++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index a7a735c90d..751e3bff86 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -49,6 +49,11 @@ class BootLinuxConsole(Test): > fail = 'Failure message found in console: %s' % failure_message > self.fail(fail) > > + def exec_command_and_wait_for_pattern(self, command, success_message): > + command += '\n' > + self.vm.console_socket.sendall(command.encode()) > + self.wait_for_console_pattern(success_message) > + > def extract_from_deb(self, deb, path): > """ > Extracts a file from a deb package into the test workdir > @@ -140,6 +145,45 @@ class BootLinuxConsole(Test): > console_pattern = 'Kernel command line: %s' % kernel_command_line > self.wait_for_console_pattern(console_pattern) > > + def test_mips_malta_cpio(self): > + """ > + :avocado: tags=arch:mips > + :avocado: tags=machine:malta > + :avocado: tags=endian:big > + """ > + deb_url = ('http://snapshot.debian.org/archive/debian/' > + '20160601T041800Z/pool/main/l/linux/' > + 'linux-image-4.5.0-2-4kc-malta_4.5.5-1_mips.deb') > + deb_hash = 'a3c84f3e88b54e06107d65a410d1d1e8e0f340f8' > + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash) > + kernel_path = self.extract_from_deb(deb_path, > + '/boot/vmlinux-4.5.0-2-4kc-malta') > + initrd_url = ('https://github.com/groeck/linux-build-test/raw/' > + '8584a59ed9e5eb5ee7ca91f6d74bbb06619205b8/rootfs/' > + 'mips/rootfs.cpio.gz') > + initrd_hash = 'bf806e17009360a866bf537f6de66590de349a99' > + initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash) > + initrd_path = archive.extract(initrd_path_gz, > + os.path.join(self.workdir, 'rootfs.cpio')) > + self.vm.set_machine('malta') > + self.vm.set_console() > + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE > + + 'console=ttyS0 console=tty ' > + + 'rdinit=/sbin/init noreboot') > + self.vm.add_args('-kernel', kernel_path, > + '-initrd', initrd_path, > + '-append', kernel_command_line, > + '-no-reboot') > + self.vm.launch() > + self.wait_for_console_pattern('Boot successful.') > + > + self.exec_command_and_wait_for_pattern('cat /proc/cpuinfo', > + 'BogoMIPS') > + self.exec_command_and_wait_for_pattern('uname -a', > + 'Debian') > + self.exec_command_and_wait_for_pattern('reboot', > + 'reboot: Restarting system') > + > def do_test_mips_malta32el_nanomips(self, kernel_url, kernel_hash): > kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash) > kernel_path = self.workdir + "kernel" > -- > 2.20.1 > Reviewed-by: Cleber Rosa <crosa@redhat.com> ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH v3 2/2] BootLinuxConsoleTest: Run kerneltests BusyBox on Malta 2019-06-06 23:02 ` [Qemu-devel] [PATCH v3 2/2] BootLinuxConsoleTest: Run kerneltests BusyBox on Malta Philippe Mathieu-Daudé 2019-06-06 23:28 ` Cleber Rosa @ 2019-06-07 0:15 ` Aleksandar Markovic 1 sibling, 0 replies; 5+ messages in thread From: Aleksandar Markovic @ 2019-06-07 0:15 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: Eduardo Habkost, Aleksandar Rikalo, Philippe Mathieu-Daudé, qemu-devel, Aleksandar Markovic, Cleber Rosa, Aurelien Jarno On Jun 7, 2019 1:06 AM, "Philippe Mathieu-Daudé" <philmd@redhat.com> wrote: > > From: Philippe Mathieu-Daudé <f4bug@amsat.org> > > This tests boots a Linux kernel on a Malta machine up to a > busybox shell on the serial console. Few commands are executed > before halting the machine (via reboot). > > We use the initrd cpio image from the kerneltests project: > https://kerneltests.org/ > > 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 --show=console run -t arch:mips tests/acceptance/boot_linux_console.py > [...] > console: Boot successful. > [...] > console: / # uname -a > console: Linux buildroot 4.5.0-2-4kc-malta #1 Debian 4.5.5-1 (2016-05-29) mips GNU/Linux > console: / # reboot > console: / # reboot: Restarting system > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > Acked-by: Aleksandar Markovic <amarkovic@wavecomp.com> > Tested-by: Cleber Rosa <crosa@redhat.com> > --- Excellent test, and commit message content too. May I suggest the test group inclusion of the text of this commit message (or similar text) to the documentation on QEMU Testing web page, as an example of the acceptance test usage? Yours, Aleksandar > v3: Use archive.extract() instead of shutil+gzip (Cleber) > --- > tests/acceptance/boot_linux_console.py | 44 ++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index a7a735c90d..751e3bff86 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -49,6 +49,11 @@ class BootLinuxConsole(Test): > fail = 'Failure message found in console: %s' % failure_message > self.fail(fail) > > + def exec_command_and_wait_for_pattern(self, command, success_message): > + command += '\n' > + self.vm.console_socket.sendall(command.encode()) > + self.wait_for_console_pattern(success_message) > + > def extract_from_deb(self, deb, path): > """ > Extracts a file from a deb package into the test workdir > @@ -140,6 +145,45 @@ class BootLinuxConsole(Test): > console_pattern = 'Kernel command line: %s' % kernel_command_line > self.wait_for_console_pattern(console_pattern) > > + def test_mips_malta_cpio(self): > + """ > + :avocado: tags=arch:mips > + :avocado: tags=machine:malta > + :avocado: tags=endian:big > + """ > + deb_url = ('http://snapshot.debian.org/archive/debian/' > + '20160601T041800Z/pool/main/l/linux/' > + 'linux-image-4.5.0-2-4kc-malta_4.5.5-1_mips.deb') > + deb_hash = 'a3c84f3e88b54e06107d65a410d1d1e8e0f340f8' > + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash) > + kernel_path = self.extract_from_deb(deb_path, > + '/boot/vmlinux-4.5.0-2-4kc-malta') > + initrd_url = ('https://github.com/groeck/linux-build-test/raw/' > + '8584a59ed9e5eb5ee7ca91f6d74bbb06619205b8/rootfs/' > + 'mips/rootfs.cpio.gz') > + initrd_hash = 'bf806e17009360a866bf537f6de66590de349a99' > + initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash) > + initrd_path = archive.extract(initrd_path_gz, > + os.path.join(self.workdir, 'rootfs.cpio')) > + self.vm.set_machine('malta') > + self.vm.set_console() > + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE > + + 'console=ttyS0 console=tty ' > + + 'rdinit=/sbin/init noreboot') > + self.vm.add_args('-kernel', kernel_path, > + '-initrd', initrd_path, > + '-append', kernel_command_line, > + '-no-reboot') > + self.vm.launch() > + self.wait_for_console_pattern('Boot successful.') > + > + self.exec_command_and_wait_for_pattern('cat /proc/cpuinfo', > + 'BogoMIPS') > + self.exec_command_and_wait_for_pattern('uname -a', > + 'Debian') > + self.exec_command_and_wait_for_pattern('reboot', > + 'reboot: Restarting system') > + > def do_test_mips_malta32el_nanomips(self, kernel_url, kernel_hash): > kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash) > kernel_path = self.workdir + "kernel" > -- > 2.20.1 > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-06-07 0:17 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-06-06 23:02 [Qemu-devel] [PATCH v3 0/2] mips: Add more Avocado tests Philippe Mathieu-Daudé 2019-06-06 23:02 ` [Qemu-devel] [PATCH v3 1/2] BootLinuxConsoleTest: Test nanoMIPS kernels on the I7200 CPU Philippe Mathieu-Daudé 2019-06-06 23:02 ` [Qemu-devel] [PATCH v3 2/2] BootLinuxConsoleTest: Run kerneltests BusyBox on Malta Philippe Mathieu-Daudé 2019-06-06 23:28 ` Cleber Rosa 2019-06-07 0:15 ` Aleksandar Markovic
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).