Merge branch 'ci/enable_s31_target_test' into 'master'

ci(esp32s31): Add ci target test for esp32s31

Closes IDF-14694

See merge request espressif/esp-idf!47208
This commit is contained in:
C.S.M
2026-04-03 13:23:47 +08:00
41 changed files with 116 additions and 42 deletions
@@ -26,4 +26,3 @@ no_runner_tags:
- esp32h2,jtag
- esp32p4,jtag
- esp32s2,usb_host_flash_disk
- esp32s31,generic,rev_default # TODO: IDF-14694
+1
View File
@@ -15,6 +15,7 @@ SUPPORTED_TARGETS = [
'esp32p4',
'esp32c5',
'esp32c61',
'esp32s31',
]
PREVIEW_TARGETS: list[str] = [] # this PREVIEW_TARGETS excludes 'linux' target
+5 -1
View File
@@ -76,7 +76,7 @@ tools/test_apps/system/g1_components:
tools/test_apps/system/gdb:
disable_test:
- if: IDF_TARGET in ["esp32p4", "esp32c5", "esp32c61"]
- if: IDF_TARGET in ["esp32p4", "esp32c5", "esp32c61", "esp32s31"]
temporary: true
reason: not supported yet # TODO: IDF-13142
@@ -149,6 +149,10 @@ tools/test_apps/system/ram_loadable_app:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: p4 rev3 migration # TODO: IDF-14370
disable_test:
- if: IDF_TARGET == "esp32s31"
temporary: true
reason: cannot pass # TODO: IDF-15525
tools/test_apps/system/rtc_mem_reserve:
enable:
@@ -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
@@ -7,7 +7,9 @@ from pytest_embedded_idf.utils import idf_parametrize
@pytest.mark.generic
@idf_parametrize(
'target', ['esp32c2', 'esp32c3', 'esp32c5', 'esp32c6', 'esp32c61', 'esp32h2', 'esp32p4'], indirect=['target']
'target',
['esp32c2', 'esp32c3', 'esp32c5', 'esp32c6', 'esp32c61', 'esp32h2', 'esp32p4', 'esp32s31'],
indirect=['target'],
)
def test_eh_frame_wdt(dut: Dut) -> None:
dut.expect_exact('Press ENTER to see the list of tests')
@@ -19,7 +21,9 @@ def test_eh_frame_wdt(dut: Dut) -> None:
@pytest.mark.generic
@idf_parametrize(
'target', ['esp32c2', 'esp32c3', 'esp32c5', 'esp32c6', 'esp32c61', 'esp32h2', 'esp32p4'], indirect=['target']
'target',
['esp32c2', 'esp32c3', 'esp32c5', 'esp32c6', 'esp32c61', 'esp32h2', 'esp32p4', 'esp32s31'],
indirect=['target'],
)
def test_eh_frame_panic(dut: Dut) -> None:
dut.expect_exact('Press ENTER to see the list of tests')
+12 -8
View File
@@ -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
import os
import re
@@ -21,13 +21,17 @@ def _test_idf_gdb(openocd_dut: 'OpenOCD', dut: IdfDut) -> None:
# Don't need to have output from UART anymore
dut.serial.stop_redirect_thread()
with openocd_dut.run(), open(os.path.join(dut.logdir, 'gdb.txt'), 'w') as gdb_log, pexpect.spawn(
f'idf.py -B {dut.app.binary_path} gdb --batch',
timeout=60,
logfile=gdb_log,
encoding='utf-8',
codec_errors='ignore',
) as p:
with (
openocd_dut.run(),
open(os.path.join(dut.logdir, 'gdb.txt'), 'w') as gdb_log,
pexpect.spawn(
f'idf.py -B {dut.app.binary_path} gdb --batch',
timeout=60,
logfile=gdb_log,
encoding='utf-8',
codec_errors='ignore',
) as p,
):
p.expect(re.compile(r'add symbol table from file.*bootloader.elf'))
p.expect(
re.compile(r'add symbol table from file.*rom.elf')
+19 -1
View File
@@ -55,7 +55,25 @@ CONFIGS_UBSAN = list(
)
)
CONFIG_PANIC = list(itertools.chain(itertools.product(['panic'], ['supported_targets'])))
CONFIG_PANIC = list(
itertools.chain(
itertools.product(
['panic'],
[
'esp32',
'esp32c2',
'esp32c3',
'esp32s2',
'esp32s3',
'esp32p4',
'esp32c5',
'esp32c6',
'esp32c61',
'esp32h2',
],
)
)
)
CONFIG_PANIC_DUAL_CORE = list(itertools.chain(itertools.product(['panic'], TARGETS_DUAL_CORE)))
CONFIG_PANIC_HALT = list(itertools.chain(itertools.product(['panic_halt'], TARGETS_ALL)))