mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
tests/functional/arm: Split the ast2600 tests in two files
The ast2600 test file currently includes tests for both the Buildroot and SDK images. Since the SDK image tests can take long to run, split them into a separate file to clearly distinguish the two sets of tests, improve parallelism and allow for different CI timeouts. Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Jamin Lin <jamin_lin@aspeedtech.com> Link: https://lore.kernel.org/qemu-devel/20251007090031.679003-1-clg@redhat.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
@@ -5,7 +5,8 @@ test_arm_timeouts = {
|
||||
'aspeed_romulus' : 120,
|
||||
'aspeed_witherspoon' : 120,
|
||||
'aspeed_ast2500' : 720,
|
||||
'aspeed_ast2600' : 1200,
|
||||
'aspeed_ast2600_buildroot' : 720,
|
||||
'aspeed_ast2600_sdk' : 1200,
|
||||
'aspeed_bletchley' : 480,
|
||||
'aspeed_catalina' : 480,
|
||||
'aspeed_gb200nvl_bmc' : 480,
|
||||
@@ -31,7 +32,8 @@ tests_arm_system_thorough = [
|
||||
'aspeed_romulus',
|
||||
'aspeed_witherspoon',
|
||||
'aspeed_ast2500',
|
||||
'aspeed_ast2600',
|
||||
'aspeed_ast2600_buildroot',
|
||||
'aspeed_ast2600_sdk',
|
||||
'aspeed_bletchley',
|
||||
'aspeed_catalina',
|
||||
'aspeed_gb200nvl_bmc',
|
||||
|
||||
-74
@@ -97,80 +97,6 @@ class AST2600Machine(AspeedTest):
|
||||
|
||||
self.do_test_arm_aspeed_buildroot_poweroff()
|
||||
|
||||
ASSET_SDK_V908_AST2600 = Asset(
|
||||
'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.08/ast2600-default-obmc.tar.gz',
|
||||
'a0414f14ad696550efe083c2156dbeda855c08cc9ae7f40fe1b41bf292295f82')
|
||||
|
||||
def do_ast2600_pcie_test(self):
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'lspci -s 80:00.0',
|
||||
'80:00.0 Host bridge: '
|
||||
'ASPEED Technology, Inc. Device 2600')
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'lspci -s 80:08.0',
|
||||
'80:08.0 PCI bridge: '
|
||||
'ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge')
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'lspci -s 81:00.0',
|
||||
'81:00.0 Ethernet controller: '
|
||||
'Intel Corporation 82574L Gigabit Network Connection')
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'ip addr show dev eth4',
|
||||
'inet 10.0.2.15/24')
|
||||
|
||||
def test_arm_ast2600_evb_sdk(self):
|
||||
self.set_machine('ast2600-evb')
|
||||
self.require_netdev('user')
|
||||
|
||||
self.archive_extract(self.ASSET_SDK_V908_AST2600)
|
||||
|
||||
self.vm.add_args('-device',
|
||||
'tmp105,bus=aspeed.i2c.bus.5,address=0x4d,id=tmp-test')
|
||||
self.vm.add_args('-device',
|
||||
'ds1338,bus=aspeed.i2c.bus.5,address=0x32')
|
||||
self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.0')
|
||||
self.vm.add_args('-netdev', 'user,id=net1')
|
||||
self.do_test_arm_aspeed_sdk_start(
|
||||
self.scratch_file("ast2600-default", "image-bmc"))
|
||||
|
||||
self.wait_for_console_pattern('ast2600-default login:')
|
||||
|
||||
exec_command_and_wait_for_pattern(self, 'root', 'Password:')
|
||||
exec_command_and_wait_for_pattern(self, '0penBmc',
|
||||
'root@ast2600-default:~#')
|
||||
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'echo lm75 0x4d > /sys/class/i2c-dev/i2c-5/device/new_device',
|
||||
'i2c i2c-5: new_device: Instantiated device lm75 at 0x4d')
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'cat /sys/class/hwmon/hwmon19/temp1_input', '0')
|
||||
self.vm.cmd('qom-set', path='/machine/peripheral/tmp-test',
|
||||
property='temperature', value=18000)
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'cat /sys/class/hwmon/hwmon19/temp1_input', '18000')
|
||||
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'echo ds1307 0x32 > /sys/class/i2c-dev/i2c-5/device/new_device',
|
||||
'i2c i2c-5: new_device: Instantiated device ds1307 at 0x32')
|
||||
year = time.strftime("%Y")
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'/sbin/hwclock -f /dev/rtc1', year)
|
||||
self.do_ast2600_pcie_test()
|
||||
|
||||
def test_arm_ast2600_otp_blockdev_device(self):
|
||||
self.vm.set_machine("ast2600-evb")
|
||||
|
||||
image_path = self.archive_extract(self.ASSET_SDK_V908_AST2600)
|
||||
otp_img = self.generate_otpmem_image()
|
||||
|
||||
self.vm.set_console()
|
||||
self.vm.add_args(
|
||||
"-blockdev", f"driver=file,filename={otp_img},node-name=otp",
|
||||
"-global", "aspeed-otp.drive=otp",
|
||||
)
|
||||
self.do_test_arm_aspeed_sdk_start(
|
||||
self.scratch_file("ast2600-default", "image-bmc"))
|
||||
self.wait_for_console_pattern("ast2600-default login:")
|
||||
|
||||
if __name__ == '__main__':
|
||||
AspeedTest.main()
|
||||
+94
@@ -0,0 +1,94 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# Functional test that boots the ASPEED machines
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
import os
|
||||
import time
|
||||
|
||||
from qemu_test import Asset
|
||||
from aspeed import AspeedTest
|
||||
from qemu_test import exec_command_and_wait_for_pattern
|
||||
|
||||
|
||||
class AST2600Machine(AspeedTest):
|
||||
|
||||
ASSET_SDK_V908_AST2600 = Asset(
|
||||
'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.08/ast2600-default-obmc.tar.gz',
|
||||
'a0414f14ad696550efe083c2156dbeda855c08cc9ae7f40fe1b41bf292295f82')
|
||||
|
||||
def do_ast2600_pcie_test(self):
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'lspci -s 80:00.0',
|
||||
'80:00.0 Host bridge: '
|
||||
'ASPEED Technology, Inc. Device 2600')
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'lspci -s 80:08.0',
|
||||
'80:08.0 PCI bridge: '
|
||||
'ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge')
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'lspci -s 81:00.0',
|
||||
'81:00.0 Ethernet controller: '
|
||||
'Intel Corporation 82574L Gigabit Network Connection')
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'ip addr show dev eth4',
|
||||
'inet 10.0.2.15/24')
|
||||
|
||||
def test_arm_ast2600_evb_sdk(self):
|
||||
self.set_machine('ast2600-evb')
|
||||
self.require_netdev('user')
|
||||
|
||||
self.archive_extract(self.ASSET_SDK_V908_AST2600)
|
||||
|
||||
self.vm.add_args('-device',
|
||||
'tmp105,bus=aspeed.i2c.bus.5,address=0x4d,id=tmp-test')
|
||||
self.vm.add_args('-device',
|
||||
'ds1338,bus=aspeed.i2c.bus.5,address=0x32')
|
||||
self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.0')
|
||||
self.vm.add_args('-netdev', 'user,id=net1')
|
||||
self.do_test_arm_aspeed_sdk_start(
|
||||
self.scratch_file("ast2600-default", "image-bmc"))
|
||||
|
||||
self.wait_for_console_pattern('ast2600-default login:')
|
||||
|
||||
exec_command_and_wait_for_pattern(self, 'root', 'Password:')
|
||||
exec_command_and_wait_for_pattern(self, '0penBmc',
|
||||
'root@ast2600-default:~#')
|
||||
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'echo lm75 0x4d > /sys/class/i2c-dev/i2c-5/device/new_device',
|
||||
'i2c i2c-5: new_device: Instantiated device lm75 at 0x4d')
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'cat /sys/class/hwmon/hwmon19/temp1_input', '0')
|
||||
self.vm.cmd('qom-set', path='/machine/peripheral/tmp-test',
|
||||
property='temperature', value=18000)
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'cat /sys/class/hwmon/hwmon19/temp1_input', '18000')
|
||||
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'echo ds1307 0x32 > /sys/class/i2c-dev/i2c-5/device/new_device',
|
||||
'i2c i2c-5: new_device: Instantiated device ds1307 at 0x32')
|
||||
year = time.strftime("%Y")
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'/sbin/hwclock -f /dev/rtc1', year)
|
||||
self.do_ast2600_pcie_test()
|
||||
|
||||
def test_arm_ast2600_otp_blockdev_device(self):
|
||||
self.vm.set_machine("ast2600-evb")
|
||||
|
||||
image_path = self.archive_extract(self.ASSET_SDK_V908_AST2600)
|
||||
otp_img = self.generate_otpmem_image()
|
||||
|
||||
self.vm.set_console()
|
||||
self.vm.add_args(
|
||||
"-blockdev", f"driver=file,filename={otp_img},node-name=otp",
|
||||
"-global", "aspeed-otp.drive=otp",
|
||||
)
|
||||
self.do_test_arm_aspeed_sdk_start(
|
||||
self.scratch_file("ast2600-default", "image-bmc"))
|
||||
self.wait_for_console_pattern("ast2600-default login:")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
AspeedTest.main()
|
||||
Reference in New Issue
Block a user