ci(bootloader): fixed multiboot example flakey test-case

Wait for the boot menu before selecting the hello_world image.
This keeps flashing output from satisfying the test early.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Marius Vikhammer
2026-05-07 15:28:09 +08:00
parent 6d4c1899c5
commit e53eb6c190
2 changed files with 7 additions and 5 deletions

View File

@@ -28,7 +28,7 @@ This custom bootloader will clear the monitor and show all the bootable partitio
Please select a partition to boot.
FOUND 3 BOOT PARTITIONS:
default
main
hello_world
console
```
@@ -66,4 +66,3 @@ Below is a short explanation of the files in the project folder.
As stated in the `README.md` file in the upper level, when the bootloader components are named `main`, it overrides the whole second stage bootloader code.
Please note that this example also relies on the `hello_world` and `console` examples, before building, make sure these two examples have a clean environment and a valid `sdkconfig`.

View File

@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
# SPDX-FileCopyrightText: 2024-2026 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: CC0-1.0
import pytest
from pytest_embedded import Dut
@@ -9,8 +9,11 @@ from pytest_embedded_idf.utils import idf_parametrize
@pytest.mark.generic
@idf_parametrize('target', ['esp32c3', 'esp32s3'], indirect=['target'])
def test_custom_bootloader_multiboot_example(app: IdfApp, dut: Dut) -> None:
# Expect to see all three partitions in the list
dut.expect_exact('default')
# Wait for the bootloader menu before matching entry names so flashing logs do not
# satisfy the expectations prematurely.
dut.expect_exact('Please select a partition to boot.')
dut.expect_exact('FOUND 3 BOOT PARTITIONS:')
dut.expect_exact('main')
dut.expect_exact('hello_world')
dut.expect_exact('console')
# Send "down arrow" signal to select the second image, which should be `hello_world`