mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
Merge branch 'bugfix/idfci-12815-12072-timeout' into 'master'
fix(storage): mark storage pytest apps flaky in CI Closes IDFCI-12815, IDFCI-12072, IDFCI-8841, IDFCI-12712, IDFCI-13218, IDFCI-12926, and IDFCI-12875 See merge request espressif/esp-idf!51018
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
# SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
import pytest
|
import pytest
|
||||||
from pytest_embedded import Dut
|
from pytest_embedded import Dut
|
||||||
@@ -6,6 +6,7 @@ from pytest_embedded_idf.utils import idf_parametrize
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
|
@pytest.mark.flaky(reruns=2, reruns_delay=5)
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
[
|
[
|
||||||
@@ -18,4 +19,4 @@ from pytest_embedded_idf.utils import idf_parametrize
|
|||||||
)
|
)
|
||||||
@idf_parametrize('target', ['esp32', 'esp32c3'], indirect=['target'])
|
@idf_parametrize('target', ['esp32', 'esp32c3'], indirect=['target'])
|
||||||
def test_wear_levelling(dut: Dut) -> None:
|
def test_wear_levelling(dut: Dut) -> None:
|
||||||
dut.expect_unity_test_output()
|
dut.expect_unity_test_output(timeout=120)
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ from pytest_embedded import Dut
|
|||||||
from pytest_embedded_idf.utils import idf_parametrize
|
from pytest_embedded_idf.utils import idf_parametrize
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.flaky(reruns=2, reruns_delay=5)
|
||||||
@pytest.mark.emmc
|
@pytest.mark.emmc
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
# SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD
|
||||||
# SPDX-License-Identifier: Unlicense OR CC0-1.0
|
# SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||||
import re
|
import re
|
||||||
|
|
||||||
@@ -7,18 +7,19 @@ from pytest_embedded import Dut
|
|||||||
from pytest_embedded_idf.utils import idf_parametrize
|
from pytest_embedded_idf.utils import idf_parametrize
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.flaky(reruns=2, reruns_delay=5)
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', ['esp32', 'esp32c3'], indirect=['target'])
|
@idf_parametrize('target', ['esp32', 'esp32c3'], indirect=['target'])
|
||||||
def test_partition_find_example(dut: Dut) -> None:
|
def test_partition_find_example(dut: Dut) -> None:
|
||||||
def expect_partition(name: str, offset: int, size: int) -> None:
|
def expect_partition(name: str, offset: int, size: int) -> None:
|
||||||
dut.expect(
|
dut.expect(
|
||||||
re.compile(str.encode("found partition '{}' at offset {:#x} with size {:#x}".format(name, offset, size))),
|
re.compile(str.encode(f"found partition '{name}' at offset {offset:#x} with size {size:#x}")),
|
||||||
timeout=5,
|
timeout=5,
|
||||||
)
|
)
|
||||||
|
|
||||||
def expect_find_partition(_type: str, subtype: str, label: str, name: str, offset: int, size: int) -> None:
|
def expect_find_partition(_type: str, subtype: str, label: str, name: str, offset: int, size: int) -> None:
|
||||||
dut.expect(
|
dut.expect(
|
||||||
re.compile(str.encode('Find partition with type {}, subtype {}, label {}'.format(_type, subtype, label))),
|
re.compile(str.encode(f'Find partition with type {_type}, subtype {subtype}, label {label}')),
|
||||||
timeout=5,
|
timeout=5,
|
||||||
)
|
)
|
||||||
expect_partition(name, offset, size)
|
expect_partition(name, offset, size)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
# SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD
|
||||||
# SPDX-License-Identifier: Unlicense OR CC0-1.0
|
# SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||||
import re
|
import re
|
||||||
|
|
||||||
@@ -21,7 +21,15 @@ def test_examples_spiffs(dut: Dut) -> None:
|
|||||||
rb'example: SPIFFS unmounted',
|
rb'example: SPIFFS unmounted',
|
||||||
)
|
)
|
||||||
|
|
||||||
# First boot format + remount can exceed 60s on CI UART runners; keep startup fail-fast.
|
# Startup is fail-fast (Initializing SPIFFS appears quickly).
|
||||||
|
# First-boot format of ~960KB SPIFFS can exceed 120s on esp32c3 CI UART runners,
|
||||||
|
# so allow up to 240s for format/remount; remaining expects use 120s.
|
||||||
dut.expect(re.compile(message_list[0]), timeout=30)
|
dut.expect(re.compile(message_list[0]), timeout=30)
|
||||||
for msg in message_list[1:]:
|
|
||||||
|
spiffs_format = rb'SPIFFS: mount failed, -10025\. formatting\.\.\.'
|
||||||
|
format_or_partition = re.compile(rb'(?:' + spiffs_format + rb'|' + message_list[1] + rb')')
|
||||||
|
if dut.expect(format_or_partition, timeout=240) == 0:
|
||||||
|
dut.expect(re.compile(message_list[1]), timeout=240)
|
||||||
|
|
||||||
|
for msg in message_list[2:]:
|
||||||
dut.expect(re.compile(msg), timeout=120)
|
dut.expect(re.compile(msg), timeout=120)
|
||||||
|
|||||||
Reference in New Issue
Block a user