tests/avocado: Add SD boot test to Cubieboard
Cubieboard now can boot directly from SD card, without the need to pass `-kernel` parameter. Update Avocado tests to cover this functionality. Signed-off-by: Strahinja Jankovic <strahinja.p.jankovic@gmail.com> Reviewed-by: Niek Linnenbank <nieklinnenbank@gmail.com> Tested-by: Niek Linnenbank <nieklinnenbank@gmail.com> Message-id: 20221226220303.14420-8-strahinja.p.jankovic@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
bb9271cadb
commit
22bd244a1c
@ -620,6 +620,53 @@ class BootLinuxConsole(LinuxKernelTest):
|
||||
'sda')
|
||||
# cubieboard's reboot is not functioning; omit reboot test.
|
||||
|
||||
@skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
|
||||
def test_arm_cubieboard_openwrt_22_03_2(self):
|
||||
"""
|
||||
:avocado: tags=arch:arm
|
||||
:avocado: tags=machine:cubieboard
|
||||
:avocado: tags=device:sd
|
||||
"""
|
||||
|
||||
# This test download a 7.5 MiB compressed image and expand it
|
||||
# to 126 MiB.
|
||||
image_url = ('https://downloads.openwrt.org/releases/22.03.2/targets/'
|
||||
'sunxi/cortexa8/openwrt-22.03.2-sunxi-cortexa8-'
|
||||
'cubietech_a10-cubieboard-ext4-sdcard.img.gz')
|
||||
image_hash = ('94b5ecbfbc0b3b56276e5146b899eafa'
|
||||
'2ac5dc2d08733d6705af9f144f39f554')
|
||||
image_path_gz = self.fetch_asset(image_url, asset_hash=image_hash,
|
||||
algorithm='sha256')
|
||||
image_path = archive.extract(image_path_gz, self.workdir)
|
||||
image_pow2ceil_expand(image_path)
|
||||
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-drive', 'file=' + image_path + ',if=sd,format=raw',
|
||||
'-nic', 'user',
|
||||
'-no-reboot')
|
||||
self.vm.launch()
|
||||
|
||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
|
||||
'usbcore.nousb '
|
||||
'noreboot')
|
||||
|
||||
self.wait_for_console_pattern('U-Boot SPL')
|
||||
|
||||
interrupt_interactive_console_until_pattern(
|
||||
self, 'Hit any key to stop autoboot:', '=>')
|
||||
exec_command_and_wait_for_pattern(self, "setenv extraargs '" +
|
||||
kernel_command_line + "'", '=>')
|
||||
exec_command_and_wait_for_pattern(self, 'boot', 'Starting kernel ...');
|
||||
|
||||
self.wait_for_console_pattern(
|
||||
'Please press Enter to activate this console.')
|
||||
|
||||
exec_command_and_wait_for_pattern(self, ' ', 'root@')
|
||||
|
||||
exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo',
|
||||
'Allwinner sun4i/sun5i')
|
||||
# cubieboard's reboot is not functioning; omit reboot test.
|
||||
|
||||
@skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might timeout')
|
||||
def test_arm_quanta_gsj(self):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user