On 5/15/26 16:57, Alexander Hansen wrote:
Add a functional test for the Yosemite V4 (fby4-bmc) machine
that validates:
- U-Boot initialization and kernel boot sequence
The test uses an OpenBMC image built for the yosemite4 board and
validates console output through the boot process.
Cc: Titus Rwantare <[email protected]>
Cc: "Cédric Le Goater" <[email protected]> (maintainer:ASPEED BMCs)
Cc: Peter Maydell <[email protected]> (maintainer:ASPEED BMCs)
Cc: Steven Lee <[email protected]> (reviewer:ASPEED BMCs)
Cc: Troy Lee <[email protected]> (reviewer:ASPEED BMCs)
Cc: Jamin Lin <[email protected]> (reviewer:ASPEED BMCs)
Cc: Kane Chen <[email protected]> (reviewer:ASPEED BMCs)
Cc: Andrew Jeffery <[email protected]> (reviewer:ASPEED BMCs)
Cc: Joel Stanley <[email protected]> (reviewer:ASPEED BMCs)
Cc: [email protected] (open list:ASPEED BMCs)
Cc: [email protected] (open list:All patches CC here)
Signed-off-by: Alexander Hansen <[email protected]>
---
tests/functional/arm/meson.build | 2 ++
tests/functional/arm/test_aspeed_fby4.py | 44 ++++++++++++++++++++++++
2 files changed, 46 insertions(+)
create mode 100755 tests/functional/arm/test_aspeed_fby4.py
diff --git a/tests/functional/arm/meson.build b/tests/functional/arm/meson.build
index 2f538f29a2..10c0006f22 100644
--- a/tests/functional/arm/meson.build
+++ b/tests/functional/arm/meson.build
@@ -14,6 +14,7 @@ test_arm_timeouts = {
'aspeed_ast2600_sdk_otp' : 720,
'aspeed_bletchley' : 480,
'aspeed_catalina' : 480,
+ 'aspeed_fby4': 480,
'aspeed_gb200nvl_bmc' : 480,
'aspeed_rainier' : 480,
'bpim2u' : 500,
@@ -47,6 +48,7 @@ tests_arm_system_thorough = [
'aspeed_ast2600_sdk_otp',
'aspeed_bletchley',
'aspeed_catalina',
+ 'aspeed_fby4',
'aspeed_gb200nvl_bmc',
'aspeed_rainier',
'bpim2u',
diff --git a/tests/functional/arm/test_aspeed_fby4.py
b/tests/functional/arm/test_aspeed_fby4.py
new file mode 100755
index 0000000000..a3124c240f
--- /dev/null
+++ b/tests/functional/arm/test_aspeed_fby4.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python3
+#
+# Functional test that boots the ASPEED machines
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+from qemu_test import Asset
+from aspeed import AspeedTest
Missing :
from qemu_test import wait_for_console_pattern
Thanks,
C.
+
+class YosemiteV4Machine(AspeedTest):
+
+ ASSET_YOSEMITE_V4_FLASH = Asset(
+
'https://github.com/legoater/qemu-aspeed-boot/raw/refs/heads/master/images/yosemite4-bmc/openbmc-20260505132843/obmc-phosphor-image-yosemite4-20260505132843.static.mtd.xz',
+ 'dff6946363b41f952b15cfc3156482b89fcfc1b0ecfc3ec8b3ed496a5f001ef9')
+
+ def do_test_arm_aspeed_openbmc_no_network(self, machine, image, uboot,
+ cpu_id, soc):
+
+ self.set_machine(machine)
+ self.vm.set_console()
+ self.vm.add_args('-drive', f'file={image},if=mtd,format=raw',
+ '-snapshot')
+ self.vm.launch()
+
+ self.wait_for_console_pattern(f'U-Boot {uboot}')
+ self.wait_for_console_pattern('## Loading kernel from FIT Image')
+ self.wait_for_console_pattern('Starting kernel ...')
+ self.wait_for_console_pattern(f'Booting Linux on physical CPU
{cpu_id}')
+ self.wait_for_console_pattern(f'ASPEED {soc}')
+ self.wait_for_console_pattern('/init as init process')
+ # yosemite v4 does not emit the hostname log which is
+ # different from the other machines.
+ self.wait_for_console_pattern('yosemite4 login:')
+
+ def test_arm_ast2600_yosemitev4_openbmc(self):
+ image_path = self.uncompress(self.ASSET_YOSEMITE_V4_FLASH)
+
+ self.do_test_arm_aspeed_openbmc_no_network('fby4-bmc',
image=image_path,
+ uboot='2019.04', cpu_id='0xf00',
+ soc='AST2600 rev A3')
+
+if __name__ == '__main__':
+ AspeedTest.main()