test(i2s): run flash encryption tests on real hardware

Use dedicated encrypted runners so I2S tests cover the actual flash encryption data path.
This replaces coverage that only observed the virtual eFuse software state.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Chen Chen
2026-07-20 14:39:36 +08:00
co-authored by Cursor
parent fef97f4436
commit 0b3e8bda5b
3 changed files with 45 additions and 0 deletions
@@ -76,3 +76,38 @@ def test_i2s_esp32c5_rev1(dut: Dut) -> None:
)
def test_i2s_psram(dut: Dut) -> None:
dut.run_all_single_board_cases()
@pytest.mark.flash_encryption_f4r8
@pytest.mark.parametrize(
'config',
[
'flash_enc',
],
indirect=True,
)
@idf_parametrize('target', ['esp32s3'], indirect=['target'])
def test_i2s_with_flash_encryption_esp32s3_f4r8(dut: Dut) -> None:
dut.run_all_single_board_cases()
@pytest.mark.flash_encryption
@pytest.mark.parametrize(
'config',
[
'flash_enc',
],
indirect=True,
)
@idf_parametrize(
'target',
soc_filtered_targets(
'SOC_I2S_SUPPORTED == 1 and '
'SOC_PSRAM_DMA_CAPABLE == 1 and '
'SOC_FLASH_ENC_SUPPORTED == 1 and '
'IDF_TARGET not in ["esp32s3"]'
),
indirect=['target'],
)
def test_i2s_with_flash_encryption(dut: Dut) -> None:
dut.run_all_single_board_cases()
@@ -0,0 +1,9 @@
CONFIG_PARTITION_TABLE_OFFSET=0x9000
CONFIG_SECURE_FLASH_ENC_ENABLED=y
CONFIG_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT=y
CONFIG_SECURE_BOOT_ALLOW_ROM_BASIC=y
CONFIG_SECURE_BOOT_ALLOW_JTAG=y
CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC=y
CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_DEC=y
CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_CACHE=y
CONFIG_SECURE_FLASH_REQUIRE_ALREADY_ENABLED=y