@samitouri / QOSamiQemu / commits / 87c5653340

tests/functional/aarch64/test_aspeed_ast2700: Add USB EHCI test for AST2700 A1/A2

Add a functional test to verify USB EHCI support on the AST2700 A2/A1 by attaching a USB keyboard device and checking its enumeration via lsusb. This introduces a helper routine that runs lsusb in the guest and validates that the emulated "QEMU USB Keyboard" is detected. Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260713032704.3583103-11-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>

Jamin Lin committed Jul 13, 2026 at 03:27 UTC 87c565334014d47ea987bd6a8c0919c03e4c4636
2 files changed +14
tests/functional/aarch64/test_aspeed_ast2700a1.py
+7
@@ -118,6 +118,11 @@ class AST2x00MachineSDK(QemuSystemTest):
118 'ip addr show dev eth2',
119 'inet 10.0.2.15/24')
120
121 + def do_ast2700_usb_ehci_test(self):
122 + exec_command_and_wait_for_pattern(self,
123 + 'lsusb',
124 + 'QEMU QEMU USB Keyboard')
125 +
126 def start_ast2700_test(self, name, bus_id):
127 num_cpu = 4
128 load_images_list = [
@@ -161,10 +166,12 @@ class AST2x00MachineSDK(QemuSystemTest):
166 self.archive_extract(self.ASSET_SDK_V1101_AST2700A1)
167 self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.2')
168 self.vm.add_args('-netdev', 'user,id=net1')
169 + self.vm.add_args('-device', 'usb-kbd,bus=usb-bus.3')
170 self.start_ast2700_test('ast2700-a1-image', 1)
171 self.verify_openbmc_boot_and_login('ast2700-a1')
172 self.do_ast2700_i2c_test(1)
173 self.do_ast2700_pcie_test()
174 + self.do_ast2700_usb_ehci_test()
175
176 def test_aarch64_ast2700a1_evb_sdk_vbootrom_v11_01(self):
177 self.set_machine('ast2700a1-evb')
tests/functional/aarch64/test_aspeed_ast2700a2.py
+7
@@ -121,6 +121,11 @@ class AST2x00MachineSDK(QemuSystemTest):
121 'ip addr show dev eth2',
122 'inet 10.0.2.15/24')
123
124 + def do_ast2700_usb_ehci_test(self):
125 + exec_command_and_wait_for_pattern(self,
126 + 'lsusb',
127 + 'QEMU QEMU USB Keyboard')
128 +
129 def start_ast2700_test(self, name, bus_id):
130 num_cpu = 4
131 load_images_list = [
@@ -164,10 +169,12 @@ class AST2x00MachineSDK(QemuSystemTest):
169 self.archive_extract(self.ASSET_SDK_V1101_AST2700A2)
170 self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.2')
171 self.vm.add_args('-netdev', 'user,id=net1')
172 + self.vm.add_args('-device', 'usb-kbd,bus=usb-bus.3')
173 self.start_ast2700_test('ast2700-default-image', 1)
174 self.verify_openbmc_boot_and_login('ast2700-default')
175 self.do_ast2700_i2c_test(1)
176 self.do_ast2700_pcie_test()
177 + self.do_ast2700_usb_ehci_test()
178
179 def test_aarch64_ast2700a2_evb_sdk_vbootrom_v11_01(self):
180 self.set_machine('ast2700a2-evb')