[Concept,4/4] test/py: Simplify test_distro_arm_app_efi

Message ID 20251220051013.3459855-5-sjg@u-boot.org
State New
Headers
Series Lab fixes |

Commit Message

Simon Glass Dec. 20, 2025, 5:10 a.m. UTC
  From: Simon Glass <simon.glass@canonical.com>

The GRUB menu editing approach is fragile because:
1. GRUB can auto-boot before the test interacts with the menu
2. The command line content varies (e.g. '$vt_handoff' vs 'quiet splash')
3. Character-by-character navigation depends on exact screen layout

Simplify to just verify that EFI boot through GRUB reaches Linux
userspace, without trying to edit the kernel command line.

Co-developed-by: Claude <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
---

 test/py/tests/test_distro.py | 48 +++---------------------------------
 1 file changed, 4 insertions(+), 44 deletions(-)
  

Patch

diff --git a/test/py/tests/test_distro.py b/test/py/tests/test_distro.py
index 4a44e2a30a4..257af800cdd 100644
--- a/test/py/tests/test_distro.py
+++ b/test/py/tests/test_distro.py
@@ -105,49 +105,9 @@  def test_distro_arm_app_efi(ubman):
         ubman.expect(
             ["Booting bootflow 'efi_media_1.bootdev.part_1' with efi"])
 
-        # Press Escape to force GRUB to appear, even if the silent menu was
-        # enabled by a previous boot. If the menu is already set to appear, this
-        # will exit to the grub> prompt
-        ubman.send('\x1b')
-
-        # Press Escape again, to force it to the grub> prompt
-        ubman.send('\x1b')
-
-    # Wait until we see the editor appear
-    with ubman.log.section('grub'):
-        ubman.expect(['grub>'])
-
-        ubman.run_command('normal', wait_for_prompt=False)
-
-        ubman.expect(['ESC to return previous'])
-
-        # Press 'e' to edit the command line
-        ubman.log.info("Pressing 'e'")
-        ubman.send('e')
-        for _ in range(10):
-            ubman.ctrl('N')
-        expected = '\tlinux\t/boot/vmlinuz-6.14.0-27-generic '
-        expected += 'root=UUID=e5665fb4-e1de-4335-86da-357ad5422319 ro  '
-        for _ in expected:
-            ubman.ctrl('F')
-
-        to_erase = 'quiet splash'
-        for _ in to_erase:
-            ubman.ctrl('D')
-        ubman.ctrl('X')
-        ubman.expect(['Booting a command list'])
-
-    with ubman.log.section('exit boot-services'):
-        ubman.expect(['EFI stub: Exiting boot services...'])
-
-        ubman.log.info("boot")
-        ubman.expect(['Booting Linux on physical CPU'])
-
-    with ubman.log.section('initrd'):
-        ubman.expect(['Freeing initrd memory:'])
-        ubman.expect(['Run /init as init process'])
-
-    with ubman.temporary_timeout(200 * 1000):
-        ubman.expect(['Ubuntu 25.04 qarm ttyAMA0'])
+    # Wait for Linux to boot to userspace (kernel may be quiet)
+    with ubman.log.section('Linux'):
+        with ubman.temporary_timeout(200 * 1000):
+            ubman.expect(['Ubuntu 25.04 qarm ttyAMA0'])
 
     ubman.restart_uboot()