diff mbox series

[23/26] tests/boot_linux_console: Test SDHCI and termal sensor on raspi3

Message ID 20191028073441.6448-24-philmd@redhat.com (mailing list archive)
State New, archived
Headers show
Series tests/acceptance: Queue for 4.2 | expand

Commit Message

Philippe Mathieu-Daudé Oct. 28, 2019, 7:34 a.m. UTC
From: Philippe Mathieu-Daudé <f4bug@amsat.org>

Add a test which loads the root filesystem on a SD card.
Use a kernel recent enough to also test the thermal sensor.

The kernel image comes from:
https://github.com/sakaki-/bcmrpi3-kernel#description

The cpio image used comes from the linux-build-test project:
https://github.com/groeck/linux-build-test

Reviewed-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Cleber Rosa <crosa@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
v2: Use archive.gzip_uncompress (Cleber)
---
 tests/acceptance/boot_linux_console.py | 46 ++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

Comments

Cleber Rosa Oct. 28, 2019, 8:54 p.m. UTC | #1
On Mon, Oct 28, 2019 at 08:34:38AM +0100, Philippe Mathieu-Daudé wrote:
> From: Philippe Mathieu-Daudé <f4bug@amsat.org>
> 
> Add a test which loads the root filesystem on a SD card.
> Use a kernel recent enough to also test the thermal sensor.
> 
> The kernel image comes from:
> https://github.com/sakaki-/bcmrpi3-kernel#description
> 
> The cpio image used comes from the linux-build-test project:
> https://github.com/groeck/linux-build-test
> 
> Reviewed-by: Cleber Rosa <crosa@redhat.com>
> Tested-by: Cleber Rosa <crosa@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> v2: Use archive.gzip_uncompress (Cleber)
> ---
>  tests/acceptance/boot_linux_console.py | 46 ++++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
> 
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index dc27d79199..44a046bd64 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -386,6 +386,52 @@ class BootLinuxConsole(MachineTest):
>          exec_command_and_wait_for_pattern(self, 'reboot',
>                                                  'reboot: Restarting system')
>  
> +    def test_arm_raspi3_initrd_sd_temp(self):
> +        """
> +        :avocado: tags=arch:aarch64
> +        :avocado: tags=machine:raspi3
> +        """
> +        tarball_url = ('https://github.com/sakaki-/bcmrpi3-kernel/releases/'
> +                       'download/4.19.71.20190910/'
> +                       'bcmrpi3-kernel-4.19.71.20190910.tar.xz')
> +        tarball_hash = '844f117a1a6de0532ba92d2a7bceb5b2acfbb298'
> +        tarball_path = self.fetch_asset(tarball_url, asset_hash=tarball_hash)
> +        archive.extract(tarball_path, self.workdir)
> +        dtb_path    = self.workdir + "/boot/bcm2837-rpi-3-b.dtb"
> +        kernel_path = self.workdir + "/boot/kernel8.img"
> +
> +        rootfs_url = ('https://github.com/groeck/linux-build-test/raw/'
> +                      '9b6b392ea7bc15f0d6632328d429d31c9c6273da/rootfs/'
> +                      'arm64/rootfs.ext2.gz')
> +        rootfs_hash = 'dbe4136f0b4a0d2180b93fd2a3b9a784f9951d10'
> +        rootfs_path_gz = self.fetch_asset(rootfs_url, asset_hash=rootfs_hash)
> +        rootfs_path = self.workdir + "rootfs.ext2"
> +        archive.gzip_uncompress(rootfs_path_gz, rootfs_path)
> +
> +        self.vm.set_machine('raspi3')
> +        self.vm.set_console()
> +        kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
> +                               'earlycon=pl011,0x3f201000 console=ttyAMA0 ' +
> +                               'root=/dev/mmcblk0 rootwait rw ' +
> +                               'panic=-1 noreboot')
> +        self.vm.add_args('-kernel', kernel_path,
> +                         '-dtb', dtb_path,
> +                         '-append', kernel_command_line,
> +                         '-drive', 'file=' + rootfs_path + ',if=sd,format=raw',
> +                         '-no-reboot')
> +        self.vm.launch()
> +
> +        self.wait_for_console_pattern('Boot successful.',
> +                                      failure_message='-----[ cut here ]-----')
> +

Same here as in previous patch, that is:

        wait_for_console_pattern(self,
                                 'Boot successful.',
                                 failure_message='-----[ cut here ]-----')

Also, I'm getting the same experience, that is it gets stuck...

VM launch command: 'aarch64-softmmu/qemu-system-aarch64 -chardev socket,id=mon,path=/var/tmp/tmpi8x47vvd/qemu-25605-monitor.sock -mon chardev=mon,mode=control -display none -vga none -machine raspi3 -chardev socket,id=console,path=/var/tmp/tmpi8x47vvd/qemu-25605-console.sock,server,nowait -serial chardev:console -kernel /var/tmp/avocado_lfnakl9r/avocado_job_t5whwper/1-tests_acceptance_boot_linux_console.py_BootLinuxConsole.test_arm_raspi3_initrd_sd_temp/boot/kernel8.img -dtb /var/tmp/avocado_lfnakl9r/avocado_job_t5whwper/1-tests_acceptance_boot_linux_console.py_BootLinuxConsole.test_arm_raspi3_initrd_sd_temp/boot/bcm2837-rpi-3-b.dtb -append printk.time=0 earlycon=pl011,0x3f201000 console=ttyAMA0 root=/dev/mmcblk0 rootwait rw panic=-1 noreboot -drive file=/var/tmp/avocado_lfnakl9r/avocado_job_t5whwper/1-tests_acceptance_boot_linux_console.py_BootLinuxConsole.test_arm_raspi3_initrd_sd_temprootfs.ext2,if=sd,format=raw -no-reboot'
 >>> {'execute': 'qmp_capabilities'}
 <<< {'return': {}}

... right here.

- Cleber.
diff mbox series

Patch

diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index dc27d79199..44a046bd64 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -386,6 +386,52 @@  class BootLinuxConsole(MachineTest):
         exec_command_and_wait_for_pattern(self, 'reboot',
                                                 'reboot: Restarting system')
 
+    def test_arm_raspi3_initrd_sd_temp(self):
+        """
+        :avocado: tags=arch:aarch64
+        :avocado: tags=machine:raspi3
+        """
+        tarball_url = ('https://github.com/sakaki-/bcmrpi3-kernel/releases/'
+                       'download/4.19.71.20190910/'
+                       'bcmrpi3-kernel-4.19.71.20190910.tar.xz')
+        tarball_hash = '844f117a1a6de0532ba92d2a7bceb5b2acfbb298'
+        tarball_path = self.fetch_asset(tarball_url, asset_hash=tarball_hash)
+        archive.extract(tarball_path, self.workdir)
+        dtb_path    = self.workdir + "/boot/bcm2837-rpi-3-b.dtb"
+        kernel_path = self.workdir + "/boot/kernel8.img"
+
+        rootfs_url = ('https://github.com/groeck/linux-build-test/raw/'
+                      '9b6b392ea7bc15f0d6632328d429d31c9c6273da/rootfs/'
+                      'arm64/rootfs.ext2.gz')
+        rootfs_hash = 'dbe4136f0b4a0d2180b93fd2a3b9a784f9951d10'
+        rootfs_path_gz = self.fetch_asset(rootfs_url, asset_hash=rootfs_hash)
+        rootfs_path = self.workdir + "rootfs.ext2"
+        archive.gzip_uncompress(rootfs_path_gz, rootfs_path)
+
+        self.vm.set_machine('raspi3')
+        self.vm.set_console()
+        kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
+                               'earlycon=pl011,0x3f201000 console=ttyAMA0 ' +
+                               'root=/dev/mmcblk0 rootwait rw ' +
+                               'panic=-1 noreboot')
+        self.vm.add_args('-kernel', kernel_path,
+                         '-dtb', dtb_path,
+                         '-append', kernel_command_line,
+                         '-drive', 'file=' + rootfs_path + ',if=sd,format=raw',
+                         '-no-reboot')
+        self.vm.launch()
+
+        self.wait_for_console_pattern('Boot successful.',
+                                      failure_message='-----[ cut here ]-----')
+
+        exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo',
+                                                'Raspberry Pi 3 Model B')
+        exec_command_and_wait_for_pattern(self, ('cat /sys/devices/virtual/'
+                                                 'thermal/thermal_zone0/temp'),
+                                                '25178')
+        exec_command_and_wait_for_pattern(self, 'reboot',
+                                                'reboot: Restarting system')
+
     def test_s390x_s390_ccw_virtio(self):
         """
         :avocado: tags=arch:s390x