From d3e2177342fabfe35c0b3bcc58069f901f45b477 Mon Sep 17 00:00:00 2001 From: gaoxu Date: Tue, 15 Jul 2025 10:12:08 +0800 Subject: [PATCH] ci(sdio): enable 32_c61 sdio test and runner --- .../host_sdmmc/main/Kconfig.projbuild | 4 +- .../sdio/sdio_common_tests/pytest_sdio.py | 47 +++++++++++++++++++ pytest.ini | 1 + 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/host_sdmmc/main/Kconfig.projbuild b/components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/host_sdmmc/main/Kconfig.projbuild index fcfd842856..b744e7ce35 100644 --- a/components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/host_sdmmc/main/Kconfig.projbuild +++ b/components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/host_sdmmc/main/Kconfig.projbuild @@ -3,12 +3,10 @@ menu "SDIO Slave Test Host Configuration" prompt "SDIO Slave Chip" default TEST_SDIO_SLAVE_TARGET_ESP32 help - SDIO Slave chip target + default test board conditions targets: ESP32, ESP32C6, ESP32C61 config TEST_SDIO_SLAVE_TARGET_ESP32 bool "SDIO Slave ESP32" - config TEST_SDIO_SLAVE_TARGET_ESP32C6 - bool "SDIO Slave ESP32C6" config TEST_SDIO_SLAVE_TARGET_ESP32C5 bool "SDIO Slave ESP32C5" endchoice diff --git a/components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/pytest_sdio.py b/components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/pytest_sdio.py index aae7644179..6728893cc9 100644 --- a/components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/pytest_sdio.py +++ b/components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/pytest_sdio.py @@ -36,9 +36,17 @@ esp32p4_c5_param = [ ] ] +esp32_c61_param = [ + [ + f'{os.path.join(os.path.dirname(__file__), "host_sdmmc")}|{os.path.join(os.path.dirname(__file__), "sdio")}', + 'esp32|esp32c61', + ] +] + esp32_param_default = [pytest.param(*param) for param in parameter_expand(esp32_32_param, ['default|default'])] c6_param_default = [pytest.param(*param) for param in parameter_expand(esp32_c6_param, ['default|default'])] c5_param_default = [pytest.param(*param) for param in parameter_expand(esp32p4_c5_param, ['esp32p4_esp32c5|default'])] +c61_param_default = [pytest.param(*param) for param in parameter_expand(esp32_c61_param, ['default|default'])] c6_param_retention = [pytest.param(*param) for param in parameter_expand(esp32_c6_param, ['default|sleep_retention'])] @@ -95,6 +103,19 @@ def test_sdio_esp32p4_esp32c5(dut: Tuple[IdfDut, IdfDut]) -> None: test_sdio_flow(dut) +@pytest.mark.sdio_multidev_32_c61 +@pytest.mark.parametrize( + 'count', + [ + 2, + ], + indirect=True, +) +@pytest.mark.parametrize('app_path, target, config', c61_param_default, indirect=True) +def test_sdio_esp32_esp32c61(dut: Tuple[IdfDut, IdfDut]) -> None: + test_sdio_flow(dut) + + # From host speed tests def test_sdio_speed_frhost_flow(dut: Tuple[IdfDut, IdfDut], expected_4b_speed: int, expected_1b_speed: int) -> None: dut[1].expect('Press ENTER to see the list of tests') @@ -154,6 +175,19 @@ def test_sdio_speed_frhost_esp32p4_esp32c5(dut: Tuple[IdfDut, IdfDut]) -> None: test_sdio_speed_frhost_flow(dut, 10000, 4000) +@pytest.mark.sdio_multidev_32_c61 +@pytest.mark.parametrize( + 'count', + [ + 2, + ], + indirect=True, +) +@pytest.mark.parametrize('app_path, target, config', c61_param_default, indirect=True) +def test_sdio_speed_frhost_esp32_esp32c61(dut: Tuple[IdfDut, IdfDut]) -> None: + test_sdio_speed_frhost_flow(dut, 10000, 4000) + + # To host speed tests def test_sdio_speed_tohost_flow(dut: Tuple[IdfDut, IdfDut], expected_4b_speed: int, expected_1b_speed: int) -> None: dut[1].expect('Press ENTER to see the list of tests') @@ -213,6 +247,19 @@ def test_sdio_speed_tohost_esp32p4_esp32c5(dut: Tuple[IdfDut, IdfDut]) -> None: test_sdio_speed_tohost_flow(dut, 8500, 4000) +@pytest.mark.sdio_multidev_32_c61 +@pytest.mark.parametrize( + 'count', + [ + 2, + ], + indirect=True, +) +@pytest.mark.parametrize('app_path, target, config', c61_param_default, indirect=True) +def test_sdio_speed_tohost_esp32_esp32c61(dut: Tuple[IdfDut, IdfDut]) -> None: + test_sdio_speed_tohost_flow(dut, 8500, 4000) + + # Retention tests def test_sdio_retention(dut: Tuple[IdfDut, IdfDut]) -> None: dut[1].expect('Press ENTER to see the list of tests') diff --git a/pytest.ini b/pytest.ini index 5d570974f9..e12d1747bd 100644 --- a/pytest.ini +++ b/pytest.ini @@ -119,6 +119,7 @@ env_markers = twai_network: multiple runners form a TWAI network. sdio_master_slave: Test sdio multi board, esp32+esp32 sdio_multidev_32_c6: Test sdio multi board, esp32+esp32c6 + sdio_multidev_32_c61: Test sdio multi board, esp32+esp32c61 sdio_multidev_p4_c5: Test sdio multi board, esp32p4+esp32c5 usj_device: Test usb_serial_jtag and usb_serial_jtag is used as serial only (not console) twai_std: twai runner with all twai supported targets connect to usb-can adapter