qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] test/functional/arm: Split the ast2600 tests in two files
@ 2025-10-06 17:34 Cédric Le Goater
  2025-10-07  0:52 ` Jamin Lin
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Cédric Le Goater @ 2025-10-06 17:34 UTC (permalink / raw)
  To: qemu-devel, qemu-arm
  Cc: Peter Maydell, Steven Lee, Troy Lee, Jamin Lin, Andrew Jeffery,
	Joel Stanley, Thomas Huth, Cédric Le Goater

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.

Signed-off-by: Cédric Le Goater <clg@redhat.com>
---
 tests/functional/arm/meson.build              |  6 +-
 ...00.py => test_aspeed_ast2600_buildroot.py} | 74 --------------
 .../functional/arm/test_aspeed_ast2600_sdk.py | 96 +++++++++++++++++++
 3 files changed, 100 insertions(+), 76 deletions(-)
 rename tests/functional/arm/{test_aspeed_ast2600.py => test_aspeed_ast2600_buildroot.py} (57%)
 create mode 100755 tests/functional/arm/test_aspeed_ast2600_sdk.py

diff --git a/tests/functional/arm/meson.build b/tests/functional/arm/meson.build
index e4e7dba8d087..d1ed076a6aa8 100644
--- a/tests/functional/arm/meson.build
+++ b/tests/functional/arm/meson.build
@@ -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',
diff --git a/tests/functional/arm/test_aspeed_ast2600.py b/tests/functional/arm/test_aspeed_ast2600_buildroot.py
similarity index 57%
rename from tests/functional/arm/test_aspeed_ast2600.py
rename to tests/functional/arm/test_aspeed_ast2600_buildroot.py
index 0127913cfb65..51f2676c9061 100755
--- a/tests/functional/arm/test_aspeed_ast2600.py
+++ b/tests/functional/arm/test_aspeed_ast2600_buildroot.py
@@ -97,80 +97,6 @@ def test_arm_ast2600_evb_buildroot_tpm(self):
 
         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()
diff --git a/tests/functional/arm/test_aspeed_ast2600_sdk.py b/tests/functional/arm/test_aspeed_ast2600_sdk.py
new file mode 100755
index 000000000000..735a20b8df0e
--- /dev/null
+++ b/tests/functional/arm/test_aspeed_ast2600_sdk.py
@@ -0,0 +1,96 @@
+#!/usr/bin/env python3
+#
+# Functional test that boots the ASPEED machines
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+import os
+import time
+import tempfile
+import subprocess
+
+from qemu_test import Asset
+from aspeed import AspeedTest
+from qemu_test import exec_command_and_wait_for_pattern, skipIfMissingCommands
+
+
+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()
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: [PATCH] test/functional/arm: Split the ast2600 tests in two files
  2025-10-06 17:34 [PATCH] test/functional/arm: Split the ast2600 tests in two files Cédric Le Goater
@ 2025-10-07  0:52 ` Jamin Lin
  2025-10-07  7:50 ` Thomas Huth
  2025-10-07  7:56 ` Thomas Huth
  2 siblings, 0 replies; 5+ messages in thread
From: Jamin Lin @ 2025-10-07  0:52 UTC (permalink / raw)
  To: Cédric Le Goater, qemu-devel@nongnu.org, qemu-arm@nongnu.org
  Cc: Peter Maydell, Steven Lee, Troy Lee, Andrew Jeffery, Joel Stanley,
	Thomas Huth

> Subject: [PATCH] test/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.
> 
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
>  tests/functional/arm/meson.build              |  6 +-
>  ...00.py => test_aspeed_ast2600_buildroot.py} | 74
> --------------  .../functional/arm/test_aspeed_ast2600_sdk.py | 96
> +++++++++++++++++++
>  3 files changed, 100 insertions(+), 76 deletions(-)  rename
> tests/functional/arm/{test_aspeed_ast2600.py =>
> test_aspeed_ast2600_buildroot.py} (57%)  create mode 100755
> tests/functional/arm/test_aspeed_ast2600_sdk.py
> 
> diff --git a/tests/functional/arm/meson.build
> b/tests/functional/arm/meson.build
> index e4e7dba8d087..d1ed076a6aa8 100644
> --- a/tests/functional/arm/meson.build
> +++ b/tests/functional/arm/meson.build
> @@ -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',
> diff --git a/tests/functional/arm/test_aspeed_ast2600.py
> b/tests/functional/arm/test_aspeed_ast2600_buildroot.py
> similarity index 57%
> rename from tests/functional/arm/test_aspeed_ast2600.py
> rename to tests/functional/arm/test_aspeed_ast2600_buildroot.py
> index 0127913cfb65..51f2676c9061 100755
> --- a/tests/functional/arm/test_aspeed_ast2600.py
> +++ b/tests/functional/arm/test_aspeed_ast2600_buildroot.py
> @@ -97,80 +97,6 @@ def test_arm_ast2600_evb_buildroot_tpm(self):
> 
>          self.do_test_arm_aspeed_buildroot_poweroff()
> 
> -    ASSET_SDK_V908_AST2600 = Asset(
> -
> 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.08/ast
> 2600-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()
> diff --git a/tests/functional/arm/test_aspeed_ast2600_sdk.py
> b/tests/functional/arm/test_aspeed_ast2600_sdk.py
> new file mode 100755
> index 000000000000..735a20b8df0e
> --- /dev/null
> +++ b/tests/functional/arm/test_aspeed_ast2600_sdk.py
> @@ -0,0 +1,96 @@
> +#!/usr/bin/env python3
> +#
> +# Functional test that boots the ASPEED machines # #
> +SPDX-License-Identifier: GPL-2.0-or-later
> +
> +import os
> +import time
> +import tempfile
> +import subprocess
> +
> +from qemu_test import Asset
> +from aspeed import AspeedTest
> +from qemu_test import exec_command_and_wait_for_pattern,
> +skipIfMissingCommands
> +
> +
> +class AST2600Machine(AspeedTest):
> +
> +    ASSET_SDK_V908_AST2600 = Asset(
> +
> 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.08/ast
> 2600-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()
> --
> 2.51.0

Reviewed-by: Jamin Lin <jamin_lin@aspeedtech.com>

Thanks,
Jamin

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] test/functional/arm: Split the ast2600 tests in two files
  2025-10-06 17:34 [PATCH] test/functional/arm: Split the ast2600 tests in two files Cédric Le Goater
  2025-10-07  0:52 ` Jamin Lin
@ 2025-10-07  7:50 ` Thomas Huth
  2025-10-07  7:56 ` Thomas Huth
  2 siblings, 0 replies; 5+ messages in thread
From: Thomas Huth @ 2025-10-07  7:50 UTC (permalink / raw)
  To: Cédric Le Goater, qemu-devel, qemu-arm
  Cc: Peter Maydell, Steven Lee, Troy Lee, Jamin Lin, Andrew Jeffery,
	Joel Stanley

On 06/10/2025 19.34, Cédric Le Goater wrote:
> 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.
> 
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
>   tests/functional/arm/meson.build              |  6 +-
>   ...00.py => test_aspeed_ast2600_buildroot.py} | 74 --------------
>   .../functional/arm/test_aspeed_ast2600_sdk.py | 96 +++++++++++++++++++
>   3 files changed, 100 insertions(+), 76 deletions(-)
>   rename tests/functional/arm/{test_aspeed_ast2600.py => test_aspeed_ast2600_buildroot.py} (57%)
>   create mode 100755 tests/functional/arm/test_aspeed_ast2600_sdk.py

Thanks!

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] test/functional/arm: Split the ast2600 tests in two files
  2025-10-06 17:34 [PATCH] test/functional/arm: Split the ast2600 tests in two files Cédric Le Goater
  2025-10-07  0:52 ` Jamin Lin
  2025-10-07  7:50 ` Thomas Huth
@ 2025-10-07  7:56 ` Thomas Huth
  2025-10-07  8:00   ` Cédric Le Goater
  2 siblings, 1 reply; 5+ messages in thread
From: Thomas Huth @ 2025-10-07  7:56 UTC (permalink / raw)
  To: Cédric Le Goater, qemu-devel, qemu-arm
  Cc: Peter Maydell, Steven Lee, Troy Lee, Jamin Lin, Andrew Jeffery,
	Joel Stanley

On 06/10/2025 19.34, Cédric Le Goater wrote:
> 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.
> 
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
>   tests/functional/arm/meson.build              |  6 +-
>   ...00.py => test_aspeed_ast2600_buildroot.py} | 74 --------------
>   .../functional/arm/test_aspeed_ast2600_sdk.py | 96 +++++++++++++++++++
>   3 files changed, 100 insertions(+), 76 deletions(-)
>   rename tests/functional/arm/{test_aspeed_ast2600.py => test_aspeed_ast2600_buildroot.py} (57%)
>   create mode 100755 tests/functional/arm/test_aspeed_ast2600_sdk.py
> 
> diff --git a/tests/functional/arm/meson.build b/tests/functional/arm/meson.build
> index e4e7dba8d087..d1ed076a6aa8 100644
> --- a/tests/functional/arm/meson.build
> +++ b/tests/functional/arm/meson.build
> @@ -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',
> diff --git a/tests/functional/arm/test_aspeed_ast2600.py b/tests/functional/arm/test_aspeed_ast2600_buildroot.py
> similarity index 57%
> rename from tests/functional/arm/test_aspeed_ast2600.py
> rename to tests/functional/arm/test_aspeed_ast2600_buildroot.py
> index 0127913cfb65..51f2676c9061 100755
> --- a/tests/functional/arm/test_aspeed_ast2600.py
> +++ b/tests/functional/arm/test_aspeed_ast2600_buildroot.py
> @@ -97,80 +97,6 @@ def test_arm_ast2600_evb_buildroot_tpm(self):
>   
>           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()
> diff --git a/tests/functional/arm/test_aspeed_ast2600_sdk.py b/tests/functional/arm/test_aspeed_ast2600_sdk.py
> new file mode 100755
> index 000000000000..735a20b8df0e
> --- /dev/null
> +++ b/tests/functional/arm/test_aspeed_ast2600_sdk.py
> @@ -0,0 +1,96 @@
> +#!/usr/bin/env python3
> +#
> +# Functional test that boots the ASPEED machines
> +#
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +
> +import os
> +import time
> +import tempfile
> +import subprocess
> +
> +from qemu_test import Asset
> +from aspeed import AspeedTest
> +from qemu_test import exec_command_and_wait_for_pattern, skipIfMissingCommands

Nit: Please drop the import of tempfile, subprocess, skipIfMissingCommands 
and os in the new sdk file.

  Thanks,
   Thomas



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] test/functional/arm: Split the ast2600 tests in two files
  2025-10-07  7:56 ` Thomas Huth
@ 2025-10-07  8:00   ` Cédric Le Goater
  0 siblings, 0 replies; 5+ messages in thread
From: Cédric Le Goater @ 2025-10-07  8:00 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel, qemu-arm
  Cc: Peter Maydell, Steven Lee, Troy Lee, Jamin Lin, Andrew Jeffery,
	Joel Stanley

On 10/7/25 09:56, Thomas Huth wrote:
> On 06/10/2025 19.34, Cédric Le Goater wrote:
>> 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.
>>
>> Signed-off-by: Cédric Le Goater <clg@redhat.com>
>> ---
>>   tests/functional/arm/meson.build              |  6 +-
>>   ...00.py => test_aspeed_ast2600_buildroot.py} | 74 --------------
>>   .../functional/arm/test_aspeed_ast2600_sdk.py | 96 +++++++++++++++++++
>>   3 files changed, 100 insertions(+), 76 deletions(-)
>>   rename tests/functional/arm/{test_aspeed_ast2600.py => test_aspeed_ast2600_buildroot.py} (57%)
>>   create mode 100755 tests/functional/arm/test_aspeed_ast2600_sdk.py
>>
>> diff --git a/tests/functional/arm/meson.build b/tests/functional/arm/meson.build
>> index e4e7dba8d087..d1ed076a6aa8 100644
>> --- a/tests/functional/arm/meson.build
>> +++ b/tests/functional/arm/meson.build
>> @@ -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',
>> diff --git a/tests/functional/arm/test_aspeed_ast2600.py b/tests/functional/arm/test_aspeed_ast2600_buildroot.py
>> similarity index 57%
>> rename from tests/functional/arm/test_aspeed_ast2600.py
>> rename to tests/functional/arm/test_aspeed_ast2600_buildroot.py
>> index 0127913cfb65..51f2676c9061 100755
>> --- a/tests/functional/arm/test_aspeed_ast2600.py
>> +++ b/tests/functional/arm/test_aspeed_ast2600_buildroot.py
>> @@ -97,80 +97,6 @@ def test_arm_ast2600_evb_buildroot_tpm(self):
>>           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()
>> diff --git a/tests/functional/arm/test_aspeed_ast2600_sdk.py b/tests/functional/arm/test_aspeed_ast2600_sdk.py
>> new file mode 100755
>> index 000000000000..735a20b8df0e
>> --- /dev/null
>> +++ b/tests/functional/arm/test_aspeed_ast2600_sdk.py
>> @@ -0,0 +1,96 @@
>> +#!/usr/bin/env python3
>> +#
>> +# Functional test that boots the ASPEED machines
>> +#
>> +# SPDX-License-Identifier: GPL-2.0-or-later
>> +
>> +import os
>> +import time
>> +import tempfile
>> +import subprocess
>> +
>> +from qemu_test import Asset
>> +from aspeed import AspeedTest
>> +from qemu_test import exec_command_and_wait_for_pattern, skipIfMissingCommands
> 
> Nit: Please drop the import of tempfile, subprocess, skipIfMissingCommands and os in the new sdk file.

Indeed. I forgot some cleanup in test_aspeed_ast2600_sdk.py.

Thanks,

C.




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-10-07  8:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-06 17:34 [PATCH] test/functional/arm: Split the ast2600 tests in two files Cédric Le Goater
2025-10-07  0:52 ` Jamin Lin
2025-10-07  7:50 ` Thomas Huth
2025-10-07  7:56 ` Thomas Huth
2025-10-07  8:00   ` Cédric Le Goater

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).