Message ID | 20191028073441.6448-26-philmd@redhat.com |
---|---|
State | New |
Headers | show |
Series | tests/acceptance: Queue for 4.2 | expand |
On Mon, Oct 28, 2019 at 08:34:40AM +0100, Philippe Mathieu-Daudé wrote: > From: Philippe Mathieu-Daudé <f4bug@amsat.org> > > This test boots a Linux kernel on a smdkc210 board and verify > the serial output is working. > > The cpio image used comes from the linux-build-test project: > https://github.com/groeck/linux-build-test > > Since this test is not reliable due to clock timing issues, > it is disabled with the 'skip' property. > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > v2: > - use archive.gzip_uncompress (Cleber) > - check getenv(AVOCADO_ALLOW_UNTRUSTED_CODE) (pm215) > --- > tests/acceptance/boot_linux_console.py | 47 ++++++++++++++++++++++++++ > 1 file changed, 47 insertions(+) > > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index cbb8cddf47..489df4862c 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -13,6 +13,7 @@ import lzma > import gzip > import shutil > > +from avocado import skip > from avocado import skipUnless > from avocado_qemu import MachineTest > from avocado_qemu import exec_command_and_wait_for_pattern > @@ -474,6 +475,52 @@ class BootLinuxConsole(MachineTest): > self.wait_for_console_pattern('Boot successful.') > # TODO user command, for now the uart is stuck > > + @skip("unstable clock timings") > + def test_arm_exynos4210_sdcard(self): > + """ > + :avocado: tags=arch:arm > + :avocado: tags=machine:smdkc210 > + """ > + deb_url = ('https://snapshot.debian.org/archive/debian/' > + '20190928T224601Z/pool/main/l/linux/' > + 'linux-image-4.19.0-6-armmp_4.19.67-2+deb10u1_armhf.deb') > + deb_hash = 'fa9df4a0d38936cb50084838f2cb933f570d7d82' > + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash) > + kernel_path = self.extract_from_deb(deb_path, > + '/boot/vmlinuz-4.19.0-6-armmp') > + dtb_path = '/usr/lib/linux-image-4.19.0-6-armmp/exynos4210-smdkv310.dtb' > + dtb_path = self.extract_from_deb(deb_path, dtb_path) > + > + rootfs_url = ('https://github.com/groeck/linux-build-test/raw/' > + '2eb0a73b5d5a28df3170c546ddaaa9757e1e0848/rootfs/' > + 'arm/rootfs-armv5.ext2.gz') > + rootfs_hash = '093e89d2b4d982234bf528bc9fb2f2f17a9d1f93' > + rootfs_path_gz = self.fetch_asset(rootfs_url, asset_hash=rootfs_hash) > + rootfs_path = os.path.join(self.workdir, 'rootfs.ext2') > + archive.gzip_uncompress(rootfs_path_gz, rootfs_path) > + > + self.vm.set_machine('smdkc210') > + self.vm.set_console(console_index=1) This also depends on the resolution of the 'QEMUMachine._console_index' question. - Cleber.
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index cbb8cddf47..489df4862c 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -13,6 +13,7 @@ import lzma import gzip import shutil +from avocado import skip from avocado import skipUnless from avocado_qemu import MachineTest from avocado_qemu import exec_command_and_wait_for_pattern @@ -474,6 +475,52 @@ class BootLinuxConsole(MachineTest): self.wait_for_console_pattern('Boot successful.') # TODO user command, for now the uart is stuck + @skip("unstable clock timings") + def test_arm_exynos4210_sdcard(self): + """ + :avocado: tags=arch:arm + :avocado: tags=machine:smdkc210 + """ + deb_url = ('https://snapshot.debian.org/archive/debian/' + '20190928T224601Z/pool/main/l/linux/' + 'linux-image-4.19.0-6-armmp_4.19.67-2+deb10u1_armhf.deb') + deb_hash = 'fa9df4a0d38936cb50084838f2cb933f570d7d82' + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash) + kernel_path = self.extract_from_deb(deb_path, + '/boot/vmlinuz-4.19.0-6-armmp') + dtb_path = '/usr/lib/linux-image-4.19.0-6-armmp/exynos4210-smdkv310.dtb' + dtb_path = self.extract_from_deb(deb_path, dtb_path) + + rootfs_url = ('https://github.com/groeck/linux-build-test/raw/' + '2eb0a73b5d5a28df3170c546ddaaa9757e1e0848/rootfs/' + 'arm/rootfs-armv5.ext2.gz') + rootfs_hash = '093e89d2b4d982234bf528bc9fb2f2f17a9d1f93' + rootfs_path_gz = self.fetch_asset(rootfs_url, asset_hash=rootfs_hash) + rootfs_path = os.path.join(self.workdir, 'rootfs.ext2') + archive.gzip_uncompress(rootfs_path_gz, rootfs_path) + + self.vm.set_machine('smdkc210') + self.vm.set_console(console_index=1) + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE + + 'earlycon=exynos4210,0x13810000 earlyprintk ' + + 'console=ttySAC1,115200n8 ' + + 'random.trust_cpu=off cryptomgr.notests ' + + 'root=/dev/mmcblk0 rootwait rw ' + + 'cpuidle.off=1 panic=-1 noreboot') + + self.vm.add_args('-kernel', kernel_path, + '-dtb', dtb_path, + '-append', kernel_command_line, + # The external MMC is on the 3rd slot + '-drive', 'if=sd,driver=null-co', + '-drive', 'if=sd,driver=null-co', + '-drive', 'if=sd,file=' + rootfs_path + ',format=raw', + '-no-reboot') + self.vm.launch() + + self.wait_for_console_pattern('Boot successful.') + # TODO user command, for now the uart is stuck + def test_s390x_s390_ccw_virtio(self): """ :avocado: tags=arch:s390x