From 4e095f4b9f36d4bedb2abc550df6a46cb356a5c3 Mon Sep 17 00:00:00 2001 From: wanckl Date: Mon, 26 Aug 2024 19:06:03 +0800 Subject: [PATCH] ci(esp32c61): enable c61 generic target test --- .gitlab/ci/default-build-test-rules.yml | 2 +- .../app_update/test_apps/pytest_app_update_ut.py | 2 ++ .../gpio_extensions/pytest_gpio_extensions.py | 2 ++ .../esp_driver_spi/test_apps/.build-test-rules.yml | 4 ++++ .../test_apps/master/pytest_spi_master.py | 5 +++-- .../test_apps/param/pytest_spi_param.py | 4 ++-- .../test_apps/slave/pytest_spi_slave.py | 4 ++-- .../test_apps/slave_hd/pytest_spi_slave_hd.py | 1 + .../esp_hw_support/test_apps/dma/pytest_dma.py | 1 + .../test_apps/rtc_clk/pytest_rtc_clk.py | 4 ++-- components/esp_lcd/test_apps/.build-test-rules.yml | 4 ++++ .../esp_lcd/test_apps/spi_lcd/pytest_spi_lcd.py | 1 + components/esp_pm/test_apps/esp_pm/pytest_esp_pm.py | 1 + .../esp_psram/test_apps/psram/pytest_psram.py | 13 +++++++++++++ .../test_apps/psram/sdkconfig.ci.esp32c61_release | 7 +++++++ .../pytest_esp_rom_impl_components.py | 1 + .../esp_rom/test_apps/rom_tests/pytest_esp_rom.py | 1 + .../esp_security/test_apps/.build-test-rules.yml | 2 +- .../crypto_drivers/pytest_crypto_drivers.py | 1 + .../pytest_esp_system_unity_tests.py | 1 + .../esp_timer/test_apps/main/test_esp_timer.c | 2 ++ .../freertos/test_apps/freertos/pytest_freertos.py | 4 ++++ components/heap/test_apps/heap_tests/pytest_heap.py | 3 +++ components/newlib/test_apps/newlib/pytest_newlib.py | 1 + .../spi_flash/test_apps/.build-test-rules.yml | 2 +- .../test_apps/esp_flash/pytest_esp_flash.py | 2 +- .../test_apps/mspi_test/pytest_mspi_test.py | 3 ++- .../test_apps/pytest_wpa_supplicant_ut.py | 1 + .../timer_group/wiegand_interface/pytest_wiegand.py | 1 + examples/security/.build-test-rules.yml | 2 +- .../perf_benchmark/pytest_perf_benchmark_example.py | 2 +- examples/system/.build-test-rules.yml | 8 ++++++-- examples/system/app_trace_basic/README.md | 4 ++-- .../base_mac_address/pytest_base_mac_address.py | 1 + .../system/efuse/pytest_system_efuse_example.py | 8 ++++++-- examples/system/esp_timer/pytest_esp_timer.py | 2 ++ examples/system/light_sleep/pytest_light_sleep.py | 1 + .../known_generate_test_child_pipeline_warnings.yml | 1 + tools/ci/idf_pytest/constants.py | 6 +++--- tools/test_apps/system/.build-test-rules.yml | 4 ++++ tools/test_apps/system/eh_frame/pytest_eh_frame.py | 2 ++ .../system/esp_intr_dump/pytest_esp_intr_dump.py | 1 + tools/test_apps/system/panic/pytest_panic.py | 2 ++ .../ram_loadable_app/pytest_ram_loadable_app.py | 3 ++- 44 files changed, 102 insertions(+), 25 deletions(-) create mode 100644 components/esp_psram/test_apps/psram/sdkconfig.ci.esp32c61_release diff --git a/.gitlab/ci/default-build-test-rules.yml b/.gitlab/ci/default-build-test-rules.yml index def222985b..ade558ffe4 100644 --- a/.gitlab/ci/default-build-test-rules.yml +++ b/.gitlab/ci/default-build-test-rules.yml @@ -11,7 +11,7 @@ extra_default_build_targets: - esp32c61 bypass_check_test_targets: - - esp32c61 + # # These lines would # - enable the README.md check for esp32c6. Don't forget to add the build jobs in .gitlab/ci/build.yml diff --git a/components/app_update/test_apps/pytest_app_update_ut.py b/components/app_update/test_apps/pytest_app_update_ut.py index 36e85402e2..9e2ccb5ef4 100644 --- a/components/app_update/test_apps/pytest_app_update_ut.py +++ b/components/app_update/test_apps/pytest_app_update_ut.py @@ -19,6 +19,8 @@ def run_multiple_stages(dut: Dut, test_case_num: int, stages: int) -> None: @pytest.mark.supported_targets +# TODO: [ESP32C61] IDF-9245, IDF-9247, IDF-10983 +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='C61 has not supported deep sleep') @pytest.mark.generic def test_app_update(dut: Dut) -> None: dut.run_all_single_board_cases(timeout=90) diff --git a/components/esp_driver_gpio/test_apps/gpio_extensions/pytest_gpio_extensions.py b/components/esp_driver_gpio/test_apps/gpio_extensions/pytest_gpio_extensions.py index 6988a92595..a92700388d 100644 --- a/components/esp_driver_gpio/test_apps/gpio_extensions/pytest_gpio_extensions.py +++ b/components/esp_driver_gpio/test_apps/gpio_extensions/pytest_gpio_extensions.py @@ -13,6 +13,7 @@ CONFIGS = [ @pytest.mark.esp32c3 @pytest.mark.esp32c5 @pytest.mark.esp32c6 +@pytest.mark.esp32c61 @pytest.mark.esp32h2 @pytest.mark.esp32s2 @pytest.mark.esp32s3 @@ -27,6 +28,7 @@ def test_gpio_filter(dut: IdfDut) -> None: @pytest.mark.esp32c3 @pytest.mark.esp32c5 @pytest.mark.esp32c6 +@pytest.mark.esp32c61 @pytest.mark.esp32h2 @pytest.mark.esp32s2 @pytest.mark.esp32s3 diff --git a/components/esp_driver_spi/test_apps/.build-test-rules.yml b/components/esp_driver_spi/test_apps/.build-test-rules.yml index 4e5eb2819d..81f1c69c5c 100644 --- a/components/esp_driver_spi/test_apps/.build-test-rules.yml +++ b/components/esp_driver_spi/test_apps/.build-test-rules.yml @@ -9,6 +9,10 @@ components/esp_driver_spi/test_apps/master: disable: - if: SOC_GPSPI_SUPPORTED != 1 + disable_test: + - if: IDF_TARGET in ["esp32c61"] + temporary: true + reason: no multi-dev runner # TODO: [ESP32C61] IDF-10949 <<: *spi_depends_default components/esp_driver_spi/test_apps/param: diff --git a/components/esp_driver_spi/test_apps/master/pytest_spi_master.py b/components/esp_driver_spi/test_apps/master/pytest_spi_master.py index f43f0a6482..1ac833a84d 100644 --- a/components/esp_driver_spi/test_apps/master/pytest_spi_master.py +++ b/components/esp_driver_spi/test_apps/master/pytest_spi_master.py @@ -5,6 +5,7 @@ import pytest # If `test_env` is define, should not run on generic runner @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='test case fail') # TODO: [ESP32C61] IDF-10949 @pytest.mark.generic @pytest.mark.parametrize('config', ['defaults', 'release', 'freertos_compliance', 'freertos_flash',], indirect=True) def test_master_single_dev(case_tester) -> None: # type: ignore @@ -26,8 +27,8 @@ def test_master_esp_flash(case_tester) -> None: # type: ignore # if `test_env` not defined, will run on `generic_multi_device` by default -# TODO: [ESP32P4] IDF-9517 [ESP32C5] IDF-10322 -@pytest.mark.temp_skip_ci(targets=['esp32p4', 'esp32c5'], reason='no multi-dev runner') +# TODO: [ESP32P4] IDF-9517 [ESP32C5] IDF-10322 [ESP32C61] IDF-10949 +@pytest.mark.temp_skip_ci(targets=['esp32p4', 'esp32c5', 'esp32c61'], reason='no multi-dev runner') @pytest.mark.supported_targets @pytest.mark.generic_multi_device @pytest.mark.parametrize( diff --git a/components/esp_driver_spi/test_apps/param/pytest_spi_param.py b/components/esp_driver_spi/test_apps/param/pytest_spi_param.py index 9c4267d63d..d565235e9c 100644 --- a/components/esp_driver_spi/test_apps/param/pytest_spi_param.py +++ b/components/esp_driver_spi/test_apps/param/pytest_spi_param.py @@ -16,8 +16,8 @@ def test_param_single_dev(case_tester) -> None: # type: ignore # if `test_env` not defined, will run on `generic_multi_device` by default -# TODO: [ESP32P4] IDF-8942 [ESP32C5] IDF-10322 -@pytest.mark.temp_skip_ci(targets=['esp32p4', 'esp32c5'], reason='no multi-dev runner') +# TODO: [ESP32P4] IDF-8942 [ESP32C5] IDF-10322 [ESP32C61] IDF-10949 +@pytest.mark.temp_skip_ci(targets=['esp32p4', 'esp32c5', 'esp32c61'], reason='no multi-dev runner') @pytest.mark.supported_targets @pytest.mark.esp32h2 @pytest.mark.generic_multi_device diff --git a/components/esp_driver_spi/test_apps/slave/pytest_spi_slave.py b/components/esp_driver_spi/test_apps/slave/pytest_spi_slave.py index de424b0433..b39e7f9484 100644 --- a/components/esp_driver_spi/test_apps/slave/pytest_spi_slave.py +++ b/components/esp_driver_spi/test_apps/slave/pytest_spi_slave.py @@ -15,8 +15,8 @@ def test_slave_single_dev(case_tester) -> None: # type: ignore # if `test_env` not defined, will run on `generic_multi_device` by default -# TODO: [ESP32P4] IDF-9517 [ESP32C5] IDF-10322 -@pytest.mark.temp_skip_ci(targets=['esp32p4', 'esp32c5'], reason='no multi-dev runner') +# TODO: [ESP32P4] IDF-9517 [ESP32C5] IDF-10322 [ESP32C61] IDF-10949 +@pytest.mark.temp_skip_ci(targets=['esp32p4', 'esp32c5', 'esp32c61'], reason='no multi-dev runner') @pytest.mark.supported_targets @pytest.mark.generic_multi_device @pytest.mark.parametrize('count, config', [(2, 'defaults'), (2, 'iram_safe')], indirect=True) diff --git a/components/esp_driver_spi/test_apps/slave_hd/pytest_spi_slave_hd.py b/components/esp_driver_spi/test_apps/slave_hd/pytest_spi_slave_hd.py index 69dfdba1d0..d847058846 100644 --- a/components/esp_driver_spi/test_apps/slave_hd/pytest_spi_slave_hd.py +++ b/components/esp_driver_spi/test_apps/slave_hd/pytest_spi_slave_hd.py @@ -10,6 +10,7 @@ import pytest @pytest.mark.esp32c3 @pytest.mark.esp32c5 @pytest.mark.esp32c6 +@pytest.mark.esp32c61 @pytest.mark.esp32h2 @pytest.mark.esp32p4 @pytest.mark.generic diff --git a/components/esp_hw_support/test_apps/dma/pytest_dma.py b/components/esp_hw_support/test_apps/dma/pytest_dma.py index 0e86328469..3d78de4a84 100644 --- a/components/esp_hw_support/test_apps/dma/pytest_dma.py +++ b/components/esp_hw_support/test_apps/dma/pytest_dma.py @@ -9,6 +9,7 @@ from pytest_embedded import Dut @pytest.mark.esp32c3 @pytest.mark.esp32c5 @pytest.mark.esp32c6 +@pytest.mark.esp32c61 @pytest.mark.esp32h2 @pytest.mark.esp32p4 @pytest.mark.generic diff --git a/components/esp_hw_support/test_apps/rtc_clk/pytest_rtc_clk.py b/components/esp_hw_support/test_apps/rtc_clk/pytest_rtc_clk.py index cd5d5fc82b..396e5139b5 100644 --- a/components/esp_hw_support/test_apps/rtc_clk/pytest_rtc_clk.py +++ b/components/esp_hw_support/test_apps/rtc_clk/pytest_rtc_clk.py @@ -26,7 +26,7 @@ def test_rtc_no_xtal32k(dut: Dut) -> None: @pytest.mark.generic @pytest.mark.supported_targets -# TODO: [ESP32P4] IDF-8973 [ESP32C5] IDF-10309 -@pytest.mark.temp_skip_ci(targets=['esp32c6', 'esp32h2', 'esp32p4', 'esp32c5'], reason='c6/h2/p4/c5 support TBD') +# TODO: [ESP32P4] IDF-8973 [ESP32C5] IDF-10309 [ESP32C61] IDF-9274 IDF-10984 +@pytest.mark.temp_skip_ci(targets=['esp32c6', 'esp32h2', 'esp32p4', 'esp32c5', 'esp32c61'], reason='support TBD') def test_rtc_calib(case_tester: Any) -> None: case_tester.run_all_multi_stage_cases() diff --git a/components/esp_lcd/test_apps/.build-test-rules.yml b/components/esp_lcd/test_apps/.build-test-rules.yml index d6308cf692..4db9d3a06e 100644 --- a/components/esp_lcd/test_apps/.build-test-rules.yml +++ b/components/esp_lcd/test_apps/.build-test-rules.yml @@ -52,3 +52,7 @@ components/esp_lcd/test_apps/spi_lcd: - esp_driver_spi disable: - if: SOC_GPSPI_SUPPORTED != 1 + disable_test: + - if: IDF_TARGET in ["esp32c61"] + temporary: true + reason: test failed # TODO: ESP32C61 IDF-10953 diff --git a/components/esp_lcd/test_apps/spi_lcd/pytest_spi_lcd.py b/components/esp_lcd/test_apps/spi_lcd/pytest_spi_lcd.py index 2cdeaf11e8..5f29356b4c 100644 --- a/components/esp_lcd/test_apps/spi_lcd/pytest_spi_lcd.py +++ b/components/esp_lcd/test_apps/spi_lcd/pytest_spi_lcd.py @@ -5,6 +5,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='test case fail') # TODO: [ESP32C61] IDF-10953 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/esp_pm/test_apps/esp_pm/pytest_esp_pm.py b/components/esp_pm/test_apps/esp_pm/pytest_esp_pm.py index a55cf5a2cc..2c246b9938 100644 --- a/components/esp_pm/test_apps/esp_pm/pytest_esp_pm.py +++ b/components/esp_pm/test_apps/esp_pm/pytest_esp_pm.py @@ -6,6 +6,7 @@ from pytest_embedded import Dut @pytest.mark.generic @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='not supported yet') # TODO: [ESP32C61] IDF-9250 IDF-10985 @pytest.mark.parametrize('config', [ 'default', 'slp_iram_opt', diff --git a/components/esp_psram/test_apps/psram/pytest_psram.py b/components/esp_psram/test_apps/psram/pytest_psram.py index f433662923..949aea2d4f 100644 --- a/components/esp_psram/test_apps/psram/pytest_psram.py +++ b/components/esp_psram/test_apps/psram/pytest_psram.py @@ -99,3 +99,16 @@ def test_psram_esp32p4(dut: Dut) -> None: ) def test_psram_esp32c5(dut: Dut) -> None: dut.run_all_single_board_cases() + + +@pytest.mark.esp32c61 +@pytest.mark.generic +@pytest.mark.parametrize( + 'config', + [ + 'esp32c61_release', + ], + indirect=True, +) +def test_psram_esp32c61(dut: Dut) -> None: + dut.run_all_single_board_cases() diff --git a/components/esp_psram/test_apps/psram/sdkconfig.ci.esp32c61_release b/components/esp_psram/test_apps/psram/sdkconfig.ci.esp32c61_release new file mode 100644 index 0000000000..cf3f51fad5 --- /dev/null +++ b/components/esp_psram/test_apps/psram/sdkconfig.ci.esp32c61_release @@ -0,0 +1,7 @@ +CONFIG_IDF_TARGET="esp32c61" + +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y + +CONFIG_SPIRAM=y diff --git a/components/esp_rom/test_apps/rom_impl_components/pytest_esp_rom_impl_components.py b/components/esp_rom/test_apps/rom_impl_components/pytest_esp_rom_impl_components.py index a400d9e69b..275b2b7447 100644 --- a/components/esp_rom/test_apps/rom_impl_components/pytest_esp_rom_impl_components.py +++ b/components/esp_rom/test_apps/rom_impl_components/pytest_esp_rom_impl_components.py @@ -5,6 +5,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-9257 IDF10986 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/esp_rom/test_apps/rom_tests/pytest_esp_rom.py b/components/esp_rom/test_apps/rom_tests/pytest_esp_rom.py index 2bd712f0dd..28b068c5ce 100644 --- a/components/esp_rom/test_apps/rom_tests/pytest_esp_rom.py +++ b/components/esp_rom/test_apps/rom_tests/pytest_esp_rom.py @@ -9,6 +9,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s3 @pytest.mark.esp32c5 @pytest.mark.esp32c6 +@pytest.mark.esp32c61 @pytest.mark.esp32h2 @pytest.mark.esp32p4 @pytest.mark.generic diff --git a/components/esp_security/test_apps/.build-test-rules.yml b/components/esp_security/test_apps/.build-test-rules.yml index 183d61c0cf..abfc86a2c5 100644 --- a/components/esp_security/test_apps/.build-test-rules.yml +++ b/components/esp_security/test_apps/.build-test-rules.yml @@ -4,4 +4,4 @@ components/esp_security/test_apps/crypto_drivers: disable: - if: IDF_TARGET in ["esp32c61"] temporary: true - reason: Support for ESP32C6 is yet to be added. + reason: Support for ESP32C61 is yet to be added. diff --git a/components/esp_security/test_apps/crypto_drivers/pytest_crypto_drivers.py b/components/esp_security/test_apps/crypto_drivers/pytest_crypto_drivers.py index f7084834f0..e0709970c5 100644 --- a/components/esp_security/test_apps/crypto_drivers/pytest_crypto_drivers.py +++ b/components/esp_security/test_apps/crypto_drivers/pytest_crypto_drivers.py @@ -5,6 +5,7 @@ from pytest_embedded import Dut @pytest.mark.generic +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='Support for ESP32C61 is yet to be added.') # TODO: [ESP32C61] IDF-10987 @pytest.mark.parametrize( 'config', [ diff --git a/components/esp_system/test_apps/esp_system_unity_tests/pytest_esp_system_unity_tests.py b/components/esp_system/test_apps/esp_system_unity_tests/pytest_esp_system_unity_tests.py index 03c3ba980b..866d57f0af 100644 --- a/components/esp_system/test_apps/esp_system_unity_tests/pytest_esp_system_unity_tests.py +++ b/components/esp_system/test_apps/esp_system_unity_tests/pytest_esp_system_unity_tests.py @@ -5,6 +5,7 @@ from pytest_embedded import Dut @pytest.mark.generic +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='test case fail') # TODO: IDF-10954 @pytest.mark.parametrize( 'config', [ diff --git a/components/esp_timer/test_apps/main/test_esp_timer.c b/components/esp_timer/test_apps/main/test_esp_timer.c index 09d657a191..f8b5dfc404 100644 --- a/components/esp_timer/test_apps/main/test_esp_timer.c +++ b/components/esp_timer/test_apps/main/test_esp_timer.c @@ -388,6 +388,7 @@ TEST_CASE("esp_timer for very short intervals", "[esp_timer]") vTaskDelay(3); // wait for the esp_timer task to delete all timers } +#if !CONFIG_IDF_TARGET_ESP32C61 // TODO: IDF-10955, test fail TEST_CASE("esp_timer_get_time call takes less than 1us", "[esp_timer]") { int64_t begin = esp_timer_get_time(); @@ -399,6 +400,7 @@ TEST_CASE("esp_timer_get_time call takes less than 1us", "[esp_timer]") int ns_per_call = (int)((end - begin) * 1000 / iter_count); TEST_PERFORMANCE_LESS_THAN(ESP_TIMER_GET_TIME_PER_CALL, "%dns", ns_per_call); } +#endif static int64_t IRAM_ATTR __attribute__((noinline)) get_clock_diff(void) { diff --git a/components/freertos/test_apps/freertos/pytest_freertos.py b/components/freertos/test_apps/freertos/pytest_freertos.py index c65d09378c..4eed9b7986 100644 --- a/components/freertos/test_apps/freertos/pytest_freertos.py +++ b/components/freertos/test_apps/freertos/pytest_freertos.py @@ -15,6 +15,7 @@ CONFIGS = [ ] +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-10988 @pytest.mark.generic @pytest.mark.parametrize('config', CONFIGS, indirect=True) def test_freertos(dut: Dut) -> None: @@ -22,6 +23,7 @@ def test_freertos(dut: Dut) -> None: @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-10988 @pytest.mark.generic @pytest.mark.parametrize('config', ['freertos_options'], indirect=True) def test_task_notify_too_high_index_fails(dut: Dut) -> None: @@ -33,6 +35,7 @@ def test_task_notify_too_high_index_fails(dut: Dut) -> None: @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-10988 @pytest.mark.generic @pytest.mark.parametrize('config', ['freertos_options'], indirect=True) def test_task_notify_wait_too_high_index_fails(dut: Dut) -> None: @@ -44,6 +47,7 @@ def test_task_notify_wait_too_high_index_fails(dut: Dut) -> None: @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-10988 @pytest.mark.generic @pytest.mark.parametrize('config', ['default'], indirect=True) def test_port_must_assert_in_isr(dut: Dut) -> None: diff --git a/components/heap/test_apps/heap_tests/pytest_heap.py b/components/heap/test_apps/heap_tests/pytest_heap.py index ab420f6114..1e98b661bc 100644 --- a/components/heap/test_apps/heap_tests/pytest_heap.py +++ b/components/heap/test_apps/heap_tests/pytest_heap.py @@ -6,6 +6,7 @@ from pytest_embedded import Dut @pytest.mark.generic @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-9858 IDF-10989 @pytest.mark.nightly_run @pytest.mark.parametrize( 'config', @@ -39,6 +40,7 @@ def test_heap_poisoning_qemu(dut: Dut) -> None: @pytest.mark.generic @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-9858 IDF-10989 @pytest.mark.parametrize( 'config', [ @@ -101,6 +103,7 @@ def test_heap_trace_dump(dut: Dut) -> None: @pytest.mark.generic @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-9858 IDF-10989 @pytest.mark.parametrize( 'config', [ diff --git a/components/newlib/test_apps/newlib/pytest_newlib.py b/components/newlib/test_apps/newlib/pytest_newlib.py index 78c01517d5..615ec1589a 100644 --- a/components/newlib/test_apps/newlib/pytest_newlib.py +++ b/components/newlib/test_apps/newlib/pytest_newlib.py @@ -31,6 +31,7 @@ def validate_sbom(dut: Dut) -> None: @pytest.mark.generic +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [esp32c61] IDF-9284 IDF-10990 @pytest.mark.parametrize( 'config', [ diff --git a/components/spi_flash/test_apps/.build-test-rules.yml b/components/spi_flash/test_apps/.build-test-rules.yml index e24939c79b..41eeec1cd9 100644 --- a/components/spi_flash/test_apps/.build-test-rules.yml +++ b/components/spi_flash/test_apps/.build-test-rules.yml @@ -23,7 +23,7 @@ components/spi_flash/test_apps/esp_flash_stress: components/spi_flash/test_apps/flash_encryption: disable_test: - - if: IDF_TARGET in ["esp32c2", "esp32s2", "esp32c6", "esp32h2", "esp32p4", "esp32c5"] + - if: IDF_TARGET in ["esp32c2", "esp32s2", "esp32c6", "esp32h2", "esp32p4", "esp32c5", "esp32c61"] temporary: true reason: No runners # IDF-5634 diff --git a/components/spi_flash/test_apps/esp_flash/pytest_esp_flash.py b/components/spi_flash/test_apps/esp_flash/pytest_esp_flash.py index 2bf1e7ee75..e35f59f0b1 100644 --- a/components/spi_flash/test_apps/esp_flash/pytest_esp_flash.py +++ b/components/spi_flash/test_apps/esp_flash/pytest_esp_flash.py @@ -5,7 +5,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets -@pytest.mark.temp_skip_ci(targets=['esp32c5'], reason='not support yet') # TODO: [ESP32C5] IDF-8715, IDF-10313 +@pytest.mark.temp_skip_ci(targets=['esp32c5', 'esp32c61'], reason='not support yet') # TODO: [ESP32C5] IDF-8715, IDF-10313, [ESP32C61] IDF-9314 IDF-10991 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/spi_flash/test_apps/mspi_test/pytest_mspi_test.py b/components/spi_flash/test_apps/mspi_test/pytest_mspi_test.py index 3e9d93ecb6..0553af80f6 100644 --- a/components/spi_flash/test_apps/mspi_test/pytest_mspi_test.py +++ b/components/spi_flash/test_apps/mspi_test/pytest_mspi_test.py @@ -4,7 +4,8 @@ import pytest from pytest_embedded import Dut -@pytest.mark.temp_skip_ci(targets=['esp32p4', 'esp32c5'], reason='esp32p4, esp32c5 support TBD') # TODO: [ESP32P4] IDF-8985 [ESP32C5] IDF-8715, IDF-10313 +# TODO: [ESP32P4] IDF-8985 [ESP32C5] IDF-8715, IDF-10313, [ESP32C61] IDF-9314 IDF-10991 +@pytest.mark.temp_skip_ci(targets=['esp32p4', 'esp32c5', 'esp32c61'], reason='esp32p4, esp32c5 support TBD') @pytest.mark.supported_targets @pytest.mark.generic @pytest.mark.parametrize( diff --git a/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py b/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py index f48337c3b6..81c34a0d9a 100644 --- a/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py +++ b/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py @@ -12,6 +12,7 @@ from pytest_embedded_idf.unity_tester import CaseTester @pytest.mark.esp32c3 @pytest.mark.esp32c2 @pytest.mark.esp32c6 +@pytest.mark.esp32c61 @pytest.mark.esp32c5 def test_wpa_supplicant_ut(dut: Dut) -> None: dut.run_all_single_board_cases() diff --git a/examples/peripherals/timer_group/wiegand_interface/pytest_wiegand.py b/examples/peripherals/timer_group/wiegand_interface/pytest_wiegand.py index 2035f56782..8e7f391aeb 100644 --- a/examples/peripherals/timer_group/wiegand_interface/pytest_wiegand.py +++ b/examples/peripherals/timer_group/wiegand_interface/pytest_wiegand.py @@ -8,6 +8,7 @@ from pytest_embedded import Dut @pytest.mark.esp32c3 @pytest.mark.esp32c5 @pytest.mark.esp32c6 +@pytest.mark.esp32c61 @pytest.mark.esp32h2 @pytest.mark.esp32s2 @pytest.mark.esp32s3 diff --git a/examples/security/.build-test-rules.yml b/examples/security/.build-test-rules.yml index 5313911a78..ab7537fa4a 100644 --- a/examples/security/.build-test-rules.yml +++ b/examples/security/.build-test-rules.yml @@ -2,7 +2,7 @@ examples/security/flash_encryption: disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6", "esp32h2", "esp32c2", "esp32p4", "esp32c5"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6", "esp32h2", "esp32c2", "esp32p4", "esp32c5", "esp32c61"] temporary: true reason: lack of runners diff --git a/examples/storage/perf_benchmark/pytest_perf_benchmark_example.py b/examples/storage/perf_benchmark/pytest_perf_benchmark_example.py index f9681c4267..0b7f3b14ff 100644 --- a/examples/storage/perf_benchmark/pytest_perf_benchmark_example.py +++ b/examples/storage/perf_benchmark/pytest_perf_benchmark_example.py @@ -5,7 +5,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets -@pytest.mark.temp_skip_ci(targets=['esp32c5'], reason='not support yet') # TODO: [ESP32C5] IDF-8704, IDF-10314 +@pytest.mark.temp_skip_ci(targets=['esp32c5', 'esp32c61'], reason='not support yet') # TODO: [ESP32C5] IDF-10314 [ESP32C61] IDF-10977 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/examples/system/.build-test-rules.yml b/examples/system/.build-test-rules.yml index 0ee2db8b9c..71554bc24b 100644 --- a/examples/system/.build-test-rules.yml +++ b/examples/system/.build-test-rules.yml @@ -2,11 +2,15 @@ examples/system/app_trace_basic: disable: - - if: IDF_TARGET in ["esp32c6", "esp32h2", "esp32p4", "esp32c5"] + - if: IDF_TARGET in ["esp32c6", "esp32h2", "esp32p4", "esp32c5", "esp32c61"] temporary: true - reason: target esp32c6, esp32h2, esp32p4, esp32c5 is not supported yet + reason: targets not supported yet, TODO[C61] IDF-9264 IDF-10992 examples/system/base_mac_address: + disable_test: + - if: IDF_TARGET in ["esp32c61"] + temporary: true + reason: test failed # TODO: IDF-10956 depends_components: - esp_hw_support diff --git a/examples/system/app_trace_basic/README.md b/examples/system/app_trace_basic/README.md index b02e44b350..2da31cd059 100644 --- a/examples/system/app_trace_basic/README.md +++ b/examples/system/app_trace_basic/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | # Application Level Tracing Example (Basic) diff --git a/examples/system/base_mac_address/pytest_base_mac_address.py b/examples/system/base_mac_address/pytest_base_mac_address.py index 3d7fedb30b..807ca4c4f4 100644 --- a/examples/system/base_mac_address/pytest_base_mac_address.py +++ b/examples/system/base_mac_address/pytest_base_mac_address.py @@ -5,6 +5,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='test case fail') # TODO: IDF-10956 @pytest.mark.generic def test_base_mac_address(dut: Dut) -> None: def get_hex_r(num_bytes: int) -> str: diff --git a/examples/system/efuse/pytest_system_efuse_example.py b/examples/system/efuse/pytest_system_efuse_example.py index 235417526a..7045ad7605 100644 --- a/examples/system/efuse/pytest_system_efuse_example.py +++ b/examples/system/efuse/pytest_system_efuse_example.py @@ -50,6 +50,7 @@ def test_examples_efuse_linux(dut: Dut) -> None: @pytest.mark.esp32c2 @pytest.mark.esp32c3 @pytest.mark.esp32c5 +@pytest.mark.esp32c61 @pytest.mark.esp32c6 @pytest.mark.esp32h2 @pytest.mark.esp32s2 @@ -150,6 +151,7 @@ def test_examples_efuse_with_virt_flash_enc_aes_256(dut: Dut) -> None: @pytest.mark.esp32c2 @pytest.mark.esp32c3 @pytest.mark.esp32c5 +@pytest.mark.esp32c61 @pytest.mark.esp32c6 @pytest.mark.esp32h2 @pytest.mark.esp32s2 @@ -226,6 +228,7 @@ def test_examples_efuse_with_virt_flash_enc_pre_loaded(dut: Dut) -> None: @pytest.mark.esp32c2 @pytest.mark.esp32c3 @pytest.mark.esp32c5 +@pytest.mark.esp32c61 @pytest.mark.esp32c6 @pytest.mark.esp32h2 @pytest.mark.esp32s2 @@ -565,7 +568,7 @@ def test_examples_efuse_with_virt_secure_boot_v2_pre_loaded(dut: Dut) -> None: @pytest.mark.esp32c2 # TODO: [ESP32C5] IDF-10043 # @pytest.mark.esp32c5 -# TODO: [ESP32C5] IDF-10102 +# TODO: [ESP32C61] IDF-10102 # @pytest.mark.esp32c61 @pytest.mark.esp32c6 @pytest.mark.esp32h2 @@ -642,7 +645,7 @@ def test_examples_efuse_with_virt_secure_boot_v2_esp32xx(dut: Dut) -> None: @pytest.mark.esp32c2 # TODO: [ESP32C5] IDF-10043 # @pytest.mark.esp32c5 -# TODO: [ESP32C5] IDF-10102 +# TODO: [ESP32C61] IDF-10102 # @pytest.mark.esp32c61 @pytest.mark.esp32c6 @pytest.mark.esp32h2 @@ -953,6 +956,7 @@ def test_examples_efuse_with_virt_sb_v2_and_fe_qemu(dut: QemuDut) -> None: @pytest.mark.esp32c3 @pytest.mark.esp32c2 @pytest.mark.esp32c5 +@pytest.mark.esp32c61 @pytest.mark.esp32c6 @pytest.mark.esp32h2 @pytest.mark.esp32s2 diff --git a/examples/system/esp_timer/pytest_esp_timer.py b/examples/system/esp_timer/pytest_esp_timer.py index 929df5ccf1..fe007f2251 100644 --- a/examples/system/esp_timer/pytest_esp_timer.py +++ b/examples/system/esp_timer/pytest_esp_timer.py @@ -28,6 +28,8 @@ ONE_SHOT_TIMER_PERIOD = 5000000 @pytest.mark.supported_targets +# TODO: [ESP32C61] IDF-10993 +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='C61 has not supported light sleep') @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/examples/system/light_sleep/pytest_light_sleep.py b/examples/system/light_sleep/pytest_light_sleep.py index 3aade876e8..e4fe3b65f1 100644 --- a/examples/system/light_sleep/pytest_light_sleep.py +++ b/examples/system/light_sleep/pytest_light_sleep.py @@ -8,6 +8,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='not supported light sleep') # TODO: [ESP32C61] IDF-9247 IDF-10993 @pytest.mark.generic def test_light_sleep(dut: Dut) -> None: diff --git a/tools/ci/dynamic_pipelines/templates/known_generate_test_child_pipeline_warnings.yml b/tools/ci/dynamic_pipelines/templates/known_generate_test_child_pipeline_warnings.yml index 4a7a373074..3feff2eb18 100644 --- a/tools/ci/dynamic_pipelines/templates/known_generate_test_child_pipeline_warnings.yml +++ b/tools/ci/dynamic_pipelines/templates/known_generate_test_child_pipeline_warnings.yml @@ -14,6 +14,7 @@ no_runner_tags: - esp32c3,sdcard_sdmode - esp32c5,jtag - esp32c6,jtag + - esp32c61,jtag - esp32h2,jtag - esp32p4,jtag - esp32s2,usb_host_flash_disk diff --git a/tools/ci/idf_pytest/constants.py b/tools/ci/idf_pytest/constants.py index 17af0277f6..91fdd3a149 100644 --- a/tools/ci/idf_pytest/constants.py +++ b/tools/ci/idf_pytest/constants.py @@ -16,7 +16,7 @@ from idf_ci_utils import IDF_PATH from idf_ci_utils import idf_relpath from pytest_embedded.utils import to_list -SUPPORTED_TARGETS = ['esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2', 'esp32c6', 'esp32h2', 'esp32p4', 'esp32c5'] +SUPPORTED_TARGETS = ['esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2', 'esp32c6', 'esp32h2', 'esp32p4', 'esp32c5', 'esp32c61'] PREVIEW_TARGETS: t.List[str] = [] # this PREVIEW_TARGETS excludes 'linux' target DEFAULT_SDKCONFIG = 'default' DEFAULT_LOGDIR = 'pytest-embedded' @@ -31,12 +31,12 @@ TARGET_MARKERS = { 'esp32c6': 'support esp32c6 target', 'esp32h2': 'support esp32h2 target', 'esp32p4': 'support esp32p4 target', + 'esp32c61': 'support esp32c61 target', 'linux': 'support linux target', } SPECIAL_MARKERS = { - 'supported_targets': 'support all officially announced supported targets ' - "('esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2', 'esp32c6', 'esp32p4', 'esp32c5')", + 'supported_targets': 'support all officially announced supported targets, refer to `SUPPORTED_TARGETS`', 'preview_targets': "support all preview targets ('none')", 'all_targets': 'support all targets, including supported ones and preview ones', 'temp_skip_ci': 'temp skip tests for specified targets only in ci', diff --git a/tools/test_apps/system/.build-test-rules.yml b/tools/test_apps/system/.build-test-rules.yml index 00bd70230e..2ba0ae1788 100644 --- a/tools/test_apps/system/.build-test-rules.yml +++ b/tools/test_apps/system/.build-test-rules.yml @@ -29,6 +29,10 @@ tools/test_apps/system/eh_frame: reason: Only relevant for riscv targets tools/test_apps/system/esp_intr_dump: + disable_test: + - if: IDF_TARGET in ["esp32c61"] + temporary: true + reason: test failed # TODO: IDF-10957 tools/test_apps/system/g0_components: enable: diff --git a/tools/test_apps/system/eh_frame/pytest_eh_frame.py b/tools/test_apps/system/eh_frame/pytest_eh_frame.py index d94080d69f..3a3b083b46 100644 --- a/tools/test_apps/system/eh_frame/pytest_eh_frame.py +++ b/tools/test_apps/system/eh_frame/pytest_eh_frame.py @@ -8,6 +8,7 @@ from pytest_embedded import Dut @pytest.mark.esp32c3 @pytest.mark.esp32c5 @pytest.mark.esp32c6 +@pytest.mark.esp32c61 @pytest.mark.esp32h2 @pytest.mark.esp32p4 @pytest.mark.generic @@ -23,6 +24,7 @@ def test_eh_frame_wdt(dut: Dut) -> None: @pytest.mark.esp32c3 @pytest.mark.esp32c5 @pytest.mark.esp32c6 +@pytest.mark.esp32c61 @pytest.mark.esp32h2 @pytest.mark.esp32p4 @pytest.mark.generic diff --git a/tools/test_apps/system/esp_intr_dump/pytest_esp_intr_dump.py b/tools/test_apps/system/esp_intr_dump/pytest_esp_intr_dump.py index 9beab78984..846f903011 100644 --- a/tools/test_apps/system/esp_intr_dump/pytest_esp_intr_dump.py +++ b/tools/test_apps/system/esp_intr_dump/pytest_esp_intr_dump.py @@ -48,6 +48,7 @@ def test_esp_intr_dump_shared(dut: Dut) -> None: # TODO: IDF-9512, Update the expected output of dual core RISC-V chips when the issue is resolved @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='test case fail') # TODO: IDF-10957 @pytest.mark.generic def test_esp_intr_dump_expected_output(dut: Dut) -> None: dut.expect_exact(PROMPT, timeout=30) diff --git a/tools/test_apps/system/panic/pytest_panic.py b/tools/test_apps/system/panic/pytest_panic.py index 698dd4eb22..2880ab7dcd 100644 --- a/tools/test_apps/system/panic/pytest_panic.py +++ b/tools/test_apps/system/panic/pytest_panic.py @@ -584,6 +584,7 @@ def cache_error_log_check(dut: PanicTestDut) -> None: @pytest.mark.generic @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-9268 IDF-10994 @pytest.mark.parametrize('config', ['panic'], indirect=True) def test_assert_cache_write_back_error_can_print_backtrace( dut: PanicTestDut, config: str, test_func_name: str @@ -594,6 +595,7 @@ def test_assert_cache_write_back_error_can_print_backtrace( @pytest.mark.generic @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='support TBD') # TODO [ESP32C61] IDF-9268 IDF-10994 @pytest.mark.parametrize('config', ['panic'], indirect=True) def test_assert_cache_write_back_error_can_print_backtrace2( dut: PanicTestDut, config: str, test_func_name: str diff --git a/tools/test_apps/system/ram_loadable_app/pytest_ram_loadable_app.py b/tools/test_apps/system/ram_loadable_app/pytest_ram_loadable_app.py index c1b9b09e3c..a9d7f4b556 100644 --- a/tools/test_apps/system/ram_loadable_app/pytest_ram_loadable_app.py +++ b/tools/test_apps/system/ram_loadable_app/pytest_ram_loadable_app.py @@ -13,7 +13,8 @@ def test_pure_ram_loadable_app(dut: IdfDut) -> None: dut.expect('Time since boot: 3 seconds...', timeout=10) -@pytest.mark.temp_skip_ci(targets=['esp32p4', 'esp32c5'], reason='esp32p4, esp32c5 support TBD') # TODO: [ESP32P4] IDF-8994 [ESP32C5] IDF-8644, IDF-10315 +# TODO: [ESP32P4] IDF-8994 [ESP32C5] IDF-8644, IDF-10315, [ESP32C61] IDF-10951 +@pytest.mark.temp_skip_ci(targets=['esp32p4', 'esp32c5', 'esp32c61'], reason='support TBD') @pytest.mark.supported_targets @pytest.mark.generic @pytest.mark.parametrize('config', ['defaults',], indirect=True,)