From 8efca139056adc600972e2bc45aacb2e7981f512 Mon Sep 17 00:00:00 2001 From: Song Ruo Jing Date: Wed, 9 Nov 2022 15:28:20 +0800 Subject: [PATCH 1/7] ci: Enable target tests for esp32c6 --- .gitlab/ci/assign-test.yml | 8 +++ .gitlab/ci/rules.yml | 56 +++++++++++++++++++ .gitlab/ci/target-test.yml | 52 +++++++++++++++++ .../python_packages/ttfw_idf/IDFAssignTest.py | 1 + tools/ci/python_packages/ttfw_idf/IDFDUT.py | 2 +- .../unit-test-app/tools/ConfigDependency.yml | 1 + 6 files changed, 119 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci/assign-test.yml b/.gitlab/ci/assign-test.yml index fd616f929a..45dfe583c0 100644 --- a/.gitlab/ci/assign-test.yml +++ b/.gitlab/ci/assign-test.yml @@ -31,6 +31,9 @@ assign_example_test: - job: build_examples_cmake_esp32c3 artifacts: false optional: true + - job: build_examples_cmake_esp32c6 + artifacts: false + optional: true - job: build_examples_cmake_esp32s3 artifacts: false optional: true @@ -55,6 +58,9 @@ assign_custom_test: - job: build_test_apps_esp32c3 artifacts: false optional: true + - job: build_test_apps_esp32c6 + artifacts: false + optional: true - job: build_test_apps_esp32s3 artifacts: false optional: true @@ -75,6 +81,8 @@ assign_unit_test: optional: true - job: build_esp_idf_tests_cmake_esp32c3 optional: true + - job: build_esp_idf_tests_cmake_esp32c6 + optional: true - job: build_esp_idf_tests_cmake_esp32s3 optional: true variables: diff --git a/.gitlab/ci/rules.yml b/.gitlab/ci/rules.yml index 9465472572..eb814addd8 100644 --- a/.gitlab/ci/rules.yml +++ b/.gitlab/ci/rules.yml @@ -1628,6 +1628,21 @@ - <<: *if-dev-push changes: *patterns-target_test-wifi +.rules:test:component_ut-esp32c6: + rules: + - <<: *if-revert-branch + when: never + - <<: *if-protected + - <<: *if-label-build-only + when: never + - <<: *if-label-component_ut + - <<: *if-label-component_ut_esp32c6 + - <<: *if-label-target_test + - <<: *if-label-unit_test + - <<: *if-label-unit_test_esp32c6 + - <<: *if-dev-push + changes: *patterns-component_ut + .rules:test:component_ut-esp32h4-i154: rules: - <<: *if-revert-branch @@ -1736,6 +1751,19 @@ - <<: *if-dev-push changes: *patterns-custom_test +.rules:test:custom_test-esp32c6: + rules: + - <<: *if-revert-branch + when: never + - <<: *if-protected + - <<: *if-label-build-only + when: never + - <<: *if-label-custom_test + - <<: *if-label-custom_test_esp32c6 + - <<: *if-label-target_test + - <<: *if-dev-push + changes: *patterns-custom_test + .rules:test:custom_test-esp32s2: rules: - <<: *if-revert-branch @@ -1866,6 +1894,21 @@ when: never - <<: *if-example_test-ota-include_nightly_run-rule +.rules:test:example_test-esp32c6: + rules: + - <<: *if-revert-branch + when: never + - <<: *if-protected + - <<: *if-label-build-only + when: never + - <<: *if-label-example_test + - <<: *if-label-example_test_esp32c6 + - <<: *if-label-target_test + - <<: *if-dev-push + changes: *patterns-build-example_test + - <<: *if-dev-push + changes: *patterns-example_test + .rules:test:example_test-esp32s2: rules: - <<: *if-revert-branch @@ -2007,6 +2050,19 @@ - <<: *if-dev-push changes: *patterns-unit_test +.rules:test:unit_test-esp32c6: + rules: + - <<: *if-revert-branch + when: never + - <<: *if-protected + - <<: *if-label-build-only + when: never + - <<: *if-label-target_test + - <<: *if-label-unit_test + - <<: *if-label-unit_test_esp32c6 + - <<: *if-dev-push + changes: *patterns-unit_test + .rules:test:unit_test-esp32s2: rules: - <<: *if-revert-branch diff --git a/.gitlab/ci/target-test.yml b/.gitlab/ci/target-test.yml index 9f72b08eb2..3256e6cc24 100644 --- a/.gitlab/ci/target-test.yml +++ b/.gitlab/ci/target-test.yml @@ -132,6 +132,14 @@ example_test_pytest_esp32c3_flash_suspend: - build_pytest_examples_esp32c3 tags: [ esp32c3, flash_suspend ] +example_test_pytest_esp32c6_generic: + extends: + - .pytest_examples_dir_template + - .rules:test:example_test-esp32c6 + needs: + - build_pytest_examples_esp32c6 + tags: [ esp32c6, generic ] + example_test_pytest_esp32_ethernet_ota: extends: - .pytest_examples_dir_template @@ -597,6 +605,14 @@ component_ut_pytest_esp32c3_sdspi: - build_pytest_components_esp32c3 tags: [ esp32c3, sdcard_spimode ] +component_ut_pytest_esp32c6_generic: + extends: + - .pytest_components_dir_template + - .rules:test:component_ut-esp32c6 + needs: + - build_pytest_components_esp32c6 + tags: [ esp32c6, generic ] + component_ut_pytest_esp32h4_i154: extends: - .pytest_components_dir_template @@ -683,6 +699,14 @@ test_app_test_pytest_esp32c3_generic: - build_pytest_test_apps_esp32c3 tags: [ esp32c3, generic ] +test_app_test_pytest_esp32c6_generic: + extends: + - .pytest_test_apps_dir_template + - .rules:test:custom_test-esp32c6 + needs: + - build_pytest_test_apps_esp32c6 + tags: [ esp32c6, generic ] + test_app_test_pytest_esp32s3_mspi_f8r8: extends: - .pytest_test_apps_dir_template @@ -786,6 +810,11 @@ test_weekend_mqtt: - .example_test_template - .rules:test:example_test-esp32c3 +.example_test_esp32c6_template: + extends: + - .example_test_template + - .rules:test:example_test-esp32c6 + .example_test_esp32s3_template: extends: - .example_test_template @@ -894,6 +923,12 @@ example_test_C2_GENERIC: - ESP32C2 - Example_GENERIC +example_test_C6_GENERIC: + extends: .example_test_esp32c6_template + tags: + - ESP32C6 + - Example_GENERIC + .test_app_template: extends: .target_test_job_template needs: @@ -923,6 +958,11 @@ example_test_C2_GENERIC: - .test_app_template - .rules:test:custom_test-esp32c3 +.test_app_esp32c6_template: + extends: + - .test_app_template + - .rules:test:custom_test-esp32c6 + .test_app_esp32s3_template: extends: - .test_app_template @@ -976,6 +1016,11 @@ test_app_test_eth: - .unit_test_template - .rules:test:unit_test-esp32c3 +.unit_test_esp32c6_template: + extends: + - .unit_test_template + - .rules:test:unit_test-esp32c6 + UT_001: extends: .unit_test_esp32_template parallel: 32 @@ -1133,6 +1178,13 @@ UT_C3_SDSPI: - ESP32C3_IDF - UT_T1_SPIMODE +UT_C6: + extends: .unit_test_esp32c6_template + parallel: 12 + tags: + - ESP32C6_IDF + - UT_T1_1 + UT_S3: extends: .unit_test_esp32s3_template parallel: 19 diff --git a/tools/ci/python_packages/ttfw_idf/IDFAssignTest.py b/tools/ci/python_packages/ttfw_idf/IDFAssignTest.py index 3b68618c86..954d268fbd 100644 --- a/tools/ci/python_packages/ttfw_idf/IDFAssignTest.py +++ b/tools/ci/python_packages/ttfw_idf/IDFAssignTest.py @@ -119,6 +119,7 @@ class UnitTestGroup(IDFCaseGroup): 'esp32s3': 'ESP32S3DUT', 'esp32c2': 'ESP32C2DUT', 'esp32c3': 'ESP32C3DUT', + 'esp32c6': 'ESP32C6DUT', 'esp8266': 'ESP8266DUT', } diff --git a/tools/ci/python_packages/ttfw_idf/IDFDUT.py b/tools/ci/python_packages/ttfw_idf/IDFDUT.py index 7beec74848..660bda02e4 100644 --- a/tools/ci/python_packages/ttfw_idf/IDFDUT.py +++ b/tools/ci/python_packages/ttfw_idf/IDFDUT.py @@ -628,7 +628,7 @@ class ESP32C6DUT(IDFDUT): @classmethod def get_rom(cls): - return targets.ESP32C6BETAROM + return targets.ESP32C6ROM class ESP32H4DUT(IDFDUT): diff --git a/tools/unit-test-app/tools/ConfigDependency.yml b/tools/unit-test-app/tools/ConfigDependency.yml index 24f89e6ffe..cf9cc0ae46 100644 --- a/tools/unit-test-app/tools/ConfigDependency.yml +++ b/tools/unit-test-app/tools/ConfigDependency.yml @@ -5,6 +5,7 @@ "ESP32S3_IDF": "CONFIG_IDF_TARGET_ESP32S3=y" "ESP32C2_IDF": "CONFIG_IDF_TARGET_ESP32C2=y" "ESP32C3_IDF": "CONFIG_IDF_TARGET_ESP32C3=y" +"ESP32C6_IDF": "CONFIG_IDF_TARGET_ESP32C6=y" "quad_psram": '{CONFIG_SPIRAM_MODE_QUAD=y} and {CONFIG_IDF_TARGET_ESP32S3=y}' "octal_psram": '{CONFIG_SPIRAM_MODE_OCT=y} and {CONFIG_IDF_TARGET_ESP32S3=y}' "xtal_26mhz": '{CONFIG_XTAL_FREQ_26=y} and {CONFIG_IDF_TARGET_ESP32C2=y}' From c17b134711768cc07a8838b1c43117c94152bc52 Mon Sep 17 00:00:00 2001 From: Song Ruo Jing Date: Wed, 9 Nov 2022 16:36:50 +0800 Subject: [PATCH 2/7] ci: Add ut configs for esp32c6 --- tools/unit-test-app/configs/default_2_c6 | 3 +++ tools/unit-test-app/configs/default_3_c6 | 3 +++ tools/unit-test-app/configs/default_c6 | 3 +++ tools/unit-test-app/configs/freertos_compliance_c6 | 4 ++++ tools/unit-test-app/configs/no_optimization_c6 | 3 +++ tools/unit-test-app/configs/pm_c6 | 6 ++++++ tools/unit-test-app/configs/release_c6 | 5 +++++ tools/unit-test-app/configs/rom_options_c6 | 3 +++ 8 files changed, 30 insertions(+) create mode 100644 tools/unit-test-app/configs/default_2_c6 create mode 100644 tools/unit-test-app/configs/default_3_c6 create mode 100644 tools/unit-test-app/configs/default_c6 create mode 100644 tools/unit-test-app/configs/freertos_compliance_c6 create mode 100644 tools/unit-test-app/configs/no_optimization_c6 create mode 100644 tools/unit-test-app/configs/pm_c6 create mode 100644 tools/unit-test-app/configs/release_c6 create mode 100644 tools/unit-test-app/configs/rom_options_c6 diff --git a/tools/unit-test-app/configs/default_2_c6 b/tools/unit-test-app/configs/default_2_c6 new file mode 100644 index 0000000000..40d1d16983 --- /dev/null +++ b/tools/unit-test-app/configs/default_2_c6 @@ -0,0 +1,3 @@ +# This config is split between targets since different component needs to be included +CONFIG_IDF_TARGET="esp32c6" +TEST_COMPONENTS=app_trace esp_eth esp_hid esp_netif esp_phy esp_wifi espcoredump hal lwip mdns mqtt newlib nvs_flash partition_table sdmmc diff --git a/tools/unit-test-app/configs/default_3_c6 b/tools/unit-test-app/configs/default_3_c6 new file mode 100644 index 0000000000..5f7dfe2b78 --- /dev/null +++ b/tools/unit-test-app/configs/default_3_c6 @@ -0,0 +1,3 @@ +# This config is split between targets since different component needs to be included +CONFIG_IDF_TARGET="esp32c6" +TEST_EXCLUDE_COMPONENTS=app_trace esp_eth esp_hid esp_netif esp_phy esp_ringbuf esp_wifi espcoredump hal lwip mdns mqtt newlib nvs_flash partition_table sdmmc esp_system driver soc spi_flash vfs diff --git a/tools/unit-test-app/configs/default_c6 b/tools/unit-test-app/configs/default_c6 new file mode 100644 index 0000000000..ee942b3050 --- /dev/null +++ b/tools/unit-test-app/configs/default_c6 @@ -0,0 +1,3 @@ +# This config is split between targets since different component needs to be included +CONFIG_IDF_TARGET="esp32c6" +TEST_COMPONENTS=esp_system driver soc spi_flash vfs diff --git a/tools/unit-test-app/configs/freertos_compliance_c6 b/tools/unit-test-app/configs/freertos_compliance_c6 new file mode 100644 index 0000000000..e77b081404 --- /dev/null +++ b/tools/unit-test-app/configs/freertos_compliance_c6 @@ -0,0 +1,4 @@ +# This config is split between targets since different component needs to be included +CONFIG_IDF_TARGET="esp32c6" +TEST_COMPONENTS=driver esp_hw_support esp_system spi_flash +CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE=y diff --git a/tools/unit-test-app/configs/no_optimization_c6 b/tools/unit-test-app/configs/no_optimization_c6 new file mode 100644 index 0000000000..fba67510a9 --- /dev/null +++ b/tools/unit-test-app/configs/no_optimization_c6 @@ -0,0 +1,3 @@ +CONFIG_IDF_TARGET="esp32c6" +TEST_COMPONENTS=esp_ipc spi_flash +CONFIG_COMPILER_OPTIMIZATION_NONE=y diff --git a/tools/unit-test-app/configs/pm_c6 b/tools/unit-test-app/configs/pm_c6 new file mode 100644 index 0000000000..644e80ecc4 --- /dev/null +++ b/tools/unit-test-app/configs/pm_c6 @@ -0,0 +1,6 @@ +CONFIG_IDF_TARGET="esp32c6" +TEST_COMPONENTS=esp_pm +CONFIG_PM_ENABLE=y +CONFIG_FREERTOS_USE_TICKLESS_IDLE=y +# SMP FreeRTOS currently does not support power management IDF-4997 +CONFIG_FREERTOS_SMP=n diff --git a/tools/unit-test-app/configs/release_c6 b/tools/unit-test-app/configs/release_c6 new file mode 100644 index 0000000000..b04e54176f --- /dev/null +++ b/tools/unit-test-app/configs/release_c6 @@ -0,0 +1,5 @@ +CONFIG_IDF_TARGET="esp32c6" +TEST_COMPONENTS=esp_hw_support esp_system esp_ipc driver soc spi_flash vfs sdmmc +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y diff --git a/tools/unit-test-app/configs/rom_options_c6 b/tools/unit-test-app/configs/rom_options_c6 new file mode 100644 index 0000000000..1f0439f02a --- /dev/null +++ b/tools/unit-test-app/configs/rom_options_c6 @@ -0,0 +1,3 @@ +CONFIG_IDF_TARGET="esp32c6" +TEST_COMPONENTS=spi_flash +CONFIG_SPI_FLASH_ROM_IMPL=y From e13a4ad963cb79f23ddf4aea3ccb223f71497f9a Mon Sep 17 00:00:00 2001 From: Song Ruo Jing Date: Wed, 9 Nov 2022 18:23:49 +0800 Subject: [PATCH 3/7] ci: Disable some unit-test-apps for esp32c6 to pass ci build stage --- components/driver/.build-test-rules.yml | 18 ++++++++++++++++++ .../driver/test_apps/spi/master/README.md | 4 ++-- .../spi/master/main/test_spi_bus_lock.c | 2 -- .../test_apps/spi/master/main/test_spi_sio.c | 2 -- .../driver/test_apps/spi/slave/README.md | 4 ++-- .../driver/test_apps/spi/slave_hd/README.md | 4 ++-- .../spi/slave_hd/main/test_spi_slave_hd.c | 1 - .../test_apps/rtc_clk/main/test_rtc_clk.c | 2 +- components/esp_netif/test/test_esp_netif.c | 8 ++++---- components/esp_phy/test/test_phy_rtc.c | 6 +++--- components/esp_system/test/test_reset_reason.c | 4 ++-- components/esp_system/test/test_sleep.c | 2 ++ components/mqtt/test/test_mqtt5.c | 2 ++ components/newlib/test/test_time.c | 2 +- components/vfs/test/test_vfs_uart.c | 6 +++--- components/wpa_supplicant/test/test_eloop.c | 2 ++ .../wpa_supplicant/test/test_offchannel.c | 4 ++-- 17 files changed, 46 insertions(+), 27 deletions(-) diff --git a/components/driver/.build-test-rules.yml b/components/driver/.build-test-rules.yml index 84d13b4918..7a3c77dd99 100644 --- a/components/driver/.build-test-rules.yml +++ b/components/driver/.build-test-rules.yml @@ -73,6 +73,24 @@ components/driver/test_apps/sdm: disable: - if: SOC_SDM_SUPPORTED != 1 +components/driver/test_apps/spi/master: + disable: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet + +components/driver/test_apps/spi/slave: + disable: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet + +components/driver/test_apps/spi/slave_hd: + disable: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet + components/driver/test_apps/temperature_sensor: disable: - if: SOC_TEMP_SENSOR_SUPPORTED != 1 diff --git a/components/driver/test_apps/spi/master/README.md b/components/driver/test_apps/spi/master/README.md index 2beabff547..284564238d 100644 --- a/components/driver/test_apps/spi/master/README.md +++ b/components/driver/test_apps/spi/master/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | \ No newline at end of file +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | \ No newline at end of file diff --git a/components/driver/test_apps/spi/master/main/test_spi_bus_lock.c b/components/driver/test_apps/spi/master/main/test_spi_bus_lock.c index c1a04a3959..e859a29f06 100644 --- a/components/driver/test_apps/spi/master/main/test_spi_bus_lock.c +++ b/components/driver/test_apps/spi/master/main/test_spi_bus_lock.c @@ -45,7 +45,6 @@ typedef struct { } task_context_t; #if !(CONFIG_SPIRAM && CONFIG_IDF_TARGET_ESP32) -#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) const static char TAG[] = "test_spi"; @@ -349,5 +348,4 @@ TEST_CASE("spi master can be used on SPI1", "[spi]") //TODO: add a case when a non-polling transaction happened in the bus-acquiring time and then release the bus then queue a new trans -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) #endif //!(CONFIG_SPIRAM && CONFIG_IDF_TARGET_ESP32) diff --git a/components/driver/test_apps/spi/master/main/test_spi_sio.c b/components/driver/test_apps/spi/master/main/test_spi_sio.c index e853c88817..02cd852fc8 100644 --- a/components/driver/test_apps/spi/master/main/test_spi_sio.c +++ b/components/driver/test_apps/spi/master/main/test_spi_sio.c @@ -143,7 +143,6 @@ TEST_CASE("SPI Single Board Test SIO", "[spi]") #endif //#if (TEST_SPI_PERIPH_NUM >= 2) -#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) /******************************************************************************** * Test SIO Master * SIO Slave is not suported, and one unit test is limited to one feature, so,,, @@ -327,4 +326,3 @@ void test_slave_run(void) } TEST_CASE_MULTIPLE_DEVICES("SPI_Master:Test_SIO_Mode_Multi_Board", "[spi_ms][test_env=generic_multi_device]", test_master_run, test_slave_run); -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) diff --git a/components/driver/test_apps/spi/slave/README.md b/components/driver/test_apps/spi/slave/README.md index 2beabff547..284564238d 100644 --- a/components/driver/test_apps/spi/slave/README.md +++ b/components/driver/test_apps/spi/slave/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | \ No newline at end of file +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | \ No newline at end of file diff --git a/components/driver/test_apps/spi/slave_hd/README.md b/components/driver/test_apps/spi/slave_hd/README.md index 2beabff547..284564238d 100644 --- a/components/driver/test_apps/spi/slave_hd/README.md +++ b/components/driver/test_apps/spi/slave_hd/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | \ No newline at end of file +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | \ No newline at end of file diff --git a/components/driver/test_apps/spi/slave_hd/main/test_spi_slave_hd.c b/components/driver/test_apps/spi/slave_hd/main/test_spi_slave_hd.c index eb2eade9b2..971f794b4c 100644 --- a/components/driver/test_apps/spi/slave_hd/main/test_spi_slave_hd.c +++ b/components/driver/test_apps/spi/slave_hd/main/test_spi_slave_hd.c @@ -589,7 +589,6 @@ TEST_CASE("test spi slave hd segment mode, master too long", "[spi][spi_slv_hd]" #endif //#if (TEST_SPI_PERIPH_NUM >= 2) - #if (TEST_SPI_PERIPH_NUM == 1) //These tests are for chips which only have 1 SPI controller /******************************************************************************** diff --git a/components/esp_hw_support/test_apps/rtc_clk/main/test_rtc_clk.c b/components/esp_hw_support/test_apps/rtc_clk/main/test_rtc_clk.c index c5fca8b290..01aa7bc743 100644 --- a/components/esp_hw_support/test_apps/rtc_clk/main/test_rtc_clk.c +++ b/components/esp_hw_support/test_apps/rtc_clk/main/test_rtc_clk.c @@ -347,7 +347,7 @@ TEST_CASE("Test starting 'External 32kHz XTAL' on the board without it.", "[test #endif // !defined(CONFIG_IDF_CI_BUILD) || !CONFIG_SPIRAM_BANKSWITCH_ENABLE -#endif // !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2, ESP32S3, ESP32C3) +#endif // !TEMPORARY_DISABLED_FOR_TARGETS(...) #if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) //IDF-5060 diff --git a/components/esp_netif/test/test_esp_netif.c b/components/esp_netif/test/test_esp_netif.c index 45a10c44a8..8a5d164cec 100644 --- a/components/esp_netif/test/test_esp_netif.c +++ b/components/esp_netif/test/test_esp_netif.c @@ -76,7 +76,7 @@ TEST_CASE("esp_netif: create and delete multiple netifs", "[esp_netif][leaks=0]" } -#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2, ESP32C6) //IDF-5047 TEST_CASE("esp_netif: test dhcp client state transitions for wifi station", "[esp_netif]") @@ -302,7 +302,7 @@ TEST_CASE("esp_netif: get/set hostname", "[esp_netif]") esp_netif_destroy(esp_netif); } -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(...) TEST_CASE("esp_netif: convert ip address from string", "[esp_netif]") { @@ -328,7 +328,7 @@ TEST_CASE("esp_netif: convert ip address from string", "[esp_netif]") TEST_ASSERT_EQUAL(ESP_ERR_INVALID_ARG, esp_netif_str_to_ip6(ipv6_src[0], NULL)); } -#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2, ESP32C6) //IDF-5047 TEST_CASE("esp_netif: create and destroy default wifi interfaces", "[esp_netif][leaks=0]") { @@ -365,7 +365,7 @@ TEST_CASE("esp_netif: create and destroy default wifi interfaces", "[esp_netif][ } -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(...) static esp_err_t dummy_transmit(void* hd, void *buf, size_t length) { diff --git a/components/esp_phy/test/test_phy_rtc.c b/components/esp_phy/test/test_phy_rtc.c index ad04b462f8..6173f648e4 100644 --- a/components/esp_phy/test/test_phy_rtc.c +++ b/components/esp_phy/test/test_phy_rtc.c @@ -14,7 +14,7 @@ #include "esp_private/wifi.h" -#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2, ESP32C6) //IDF-5046 #include "esp_phy_init.h" @@ -132,6 +132,6 @@ TEST_CASE("Test PHY/RTC functions called when cache is disabled", "[phy_rtc][cac vSemaphoreDelete(semphr_done); } -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2) +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2, ESP32C3) -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(...) diff --git a/components/esp_system/test/test_reset_reason.c b/components/esp_system/test/test_reset_reason.c index b5dd7c0524..7beea25b06 100644 --- a/components/esp_system/test/test_reset_reason.c +++ b/components/esp_system/test/test_reset_reason.c @@ -60,7 +60,7 @@ TEST_CASE("reset reason ESP_RST_POWERON", "[reset][ignore]") } -#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2, ESP32C6) //IDF-5059 static __NOINIT_ATTR uint32_t s_noinit_val; static RTC_NOINIT_ATTR uint32_t s_rtc_noinit_val; @@ -305,7 +305,7 @@ TEST_CASE_MULTIPLE_STAGES("reset reason ESP_RST_BROWNOUT after brownout event", do_brownout, check_reset_reason_brownout); -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(...) #ifdef CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY diff --git a/components/esp_system/test/test_sleep.c b/components/esp_system/test/test_sleep.c index 1a9e2d4df0..d2564ff79a 100644 --- a/components/esp_system/test/test_sleep.c +++ b/components/esp_system/test/test_sleep.c @@ -34,6 +34,7 @@ __attribute__((unused)) static struct timeval tv_start, tv_stop; +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) #ifndef CONFIG_FREERTOS_UNICORE static void deep_sleep_task(void *arg) { @@ -590,3 +591,4 @@ TEST_CASE("wake up using GPIO (2 or 4 low)", "[deepsleep][ignore]") } #endif // SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP #endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) TODO: IDF-5348, IDF-5349 diff --git a/components/mqtt/test/test_mqtt5.c b/components/mqtt/test/test_mqtt5.c index 1ea75e1fbb..6b052759ae 100644 --- a/components/mqtt/test/test_mqtt5.c +++ b/components/mqtt/test/test_mqtt5.c @@ -19,6 +19,7 @@ #include "esp_mac.h" #include "esp_partition.h" +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) static esp_mqtt5_user_property_item_t user_property_arr[3] = { {"board", "esp32"}, {"u", "user"}, @@ -150,3 +151,4 @@ TEST_CASE("mqtt5 broker tests", "[mqtt5][test_env=UT_T2_Ethernet]") connect_test_fixture_teardown(); } #endif // SOC_EMAC_SUPPORTED +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) diff --git a/components/newlib/test/test_time.c b/components/newlib/test/test_time.c index 8454b53546..1666868e92 100644 --- a/components/newlib/test/test_time.c +++ b/components/newlib/test/test_time.c @@ -14,7 +14,6 @@ #include "freertos/semphr.h" #include "sdkconfig.h" #include "soc/rtc.h" -#include "soc/rtc_cntl_reg.h" #include "esp_system.h" #include "test_utils.h" #include "esp_log.h" @@ -45,6 +44,7 @@ #endif #if portNUM_PROCESSORS == 2 +#include "soc/rtc_cntl_reg.h" // This runs on APP CPU: static void time_adc_test_task(void* arg) diff --git a/components/vfs/test/test_vfs_uart.c b/components/vfs/test/test_vfs_uart.c index 83a356d23c..86480bb33a 100644 --- a/components/vfs/test/test_vfs_uart.c +++ b/components/vfs/test/test_vfs_uart.c @@ -16,7 +16,7 @@ #include "freertos/task.h" #include "freertos/semphr.h" #include "driver/uart.h" -#include "soc/uart_struct.h" +#include "hal/uart_ll.h" #include "esp_vfs_dev.h" #include "esp_vfs.h" #include "test_utils.h" @@ -25,12 +25,12 @@ static void fwrite_str_loopback(const char* str, size_t size) { esp_rom_uart_tx_wait_idle(CONFIG_ESP_CONSOLE_UART_NUM); - UART0.conf0.loopback = 1; + uart_ll_set_loop_back(&UART0, 1); fwrite(str, 1, size, stdout); fflush(stdout); esp_rom_uart_tx_wait_idle(CONFIG_ESP_CONSOLE_UART_NUM); vTaskDelay(2 / portTICK_PERIOD_MS); - UART0.conf0.loopback = 0; + uart_ll_set_loop_back(&UART0, 0); } static void flush_stdin_stdout(void) diff --git a/components/wpa_supplicant/test/test_eloop.c b/components/wpa_supplicant/test/test_eloop.c index a10f3287c6..bb1c06c267 100644 --- a/components/wpa_supplicant/test/test_eloop.c +++ b/components/wpa_supplicant/test/test_eloop.c @@ -18,6 +18,7 @@ #include "memory_checks.h" #include +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) uint32_t timeouts_usec[6] = { 10000, 1000, 10000, 5000, 15000, 1000 }; uint32_t timeouts_sec[6] = { 10, 1, 10, 5, 15, 1 }; int executed_order[6]; @@ -82,3 +83,4 @@ TEST_CASE("Test eloop timers run", "[eloop]") TEST_ESP_OK(esp_wifi_deinit()); os_sleep(3, 0); } +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) diff --git a/components/wpa_supplicant/test/test_offchannel.c b/components/wpa_supplicant/test/test_offchannel.c index a492cb3ce4..05458a4b4c 100644 --- a/components/wpa_supplicant/test/test_offchannel.c +++ b/components/wpa_supplicant/test/test_offchannel.c @@ -32,7 +32,7 @@ #define TEST_LISTEN_CHANNEL 6 /* No runners */ -#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2, ESP32S3, ESP32C3, ESP32C2) +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2, ESP32S3, ESP32C3, ESP32C2, ESP32C6) //IDF-5046 static const char *TAG = "test_offchan"; esp_netif_t *wifi_netif; @@ -242,4 +242,4 @@ static void test_wifi_roc(void) TEST_CASE_MULTIPLE_DEVICES("test ROC and Offchannel Action Frame Tx", "[Offchan][test_env=UT_T2_1][timeout=90]", test_wifi_roc, test_wifi_offchan_tx); -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2, ESP32S3, ESP32C3) +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(...) From f20122643939907f66e93b20988080ba40a9f1af Mon Sep 17 00:00:00 2001 From: Song Ruo Jing Date: Mon, 21 Nov 2022 14:53:45 +0800 Subject: [PATCH 4/7] ci: Move esp32c6 from preview_targets to supported_targets for ci --- .gitlab/ci/default-build-test-rules.yml | 4 ++-- conftest.py | 4 ++-- pytest.ini | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab/ci/default-build-test-rules.yml b/.gitlab/ci/default-build-test-rules.yml index 04f16f3667..52a27a6d3b 100644 --- a/.gitlab/ci/default-build-test-rules.yml +++ b/.gitlab/ci/default-build-test-rules.yml @@ -9,8 +9,8 @@ extra_default_build_targets: - esp32c6 -bypass_check_test_targets: - - esp32c6 +# bypass_check_test_targets: +# - esp32c6 # # 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/conftest.py b/conftest.py index a6a0595ab3..6da957ca7c 100644 --- a/conftest.py +++ b/conftest.py @@ -47,8 +47,8 @@ except ImportError: import common_test_methods # noqa: F401 -SUPPORTED_TARGETS = ['esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2'] -PREVIEW_TARGETS = ['esp32h4', 'esp32c6'] # this PREVIEW_TARGETS excludes 'linux' target +SUPPORTED_TARGETS = ['esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2', 'esp32c6'] +PREVIEW_TARGETS = ['esp32h4'] # this PREVIEW_TARGETS excludes 'linux' target DEFAULT_SDKCONFIG = 'default' diff --git a/pytest.ini b/pytest.ini index 2b08159450..9e1616089d 100644 --- a/pytest.ini +++ b/pytest.ini @@ -27,8 +27,8 @@ markers = esp32c2: support esp32c2 target esp32c6: support esp32c6 target esp32h4: support esp32h4 target - supported_targets: support all supported targets ('esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2') - preview_targets: support all preview targets ('linux', 'esp32h4', 'esp32c6') + supported_targets: support all supported targets ('esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2', 'esp32c6') + preview_targets: support all preview targets ('linux', 'esp32h4') all_targets: support all targets, including supported ones and preview ones temp_skip_ci: temp skip ci for specified targets, can only work with `supported_targets`, `preview_targets`, `all_targets` From 5a6cb0dad7bd9286fe70c5f9f56b848786737e49 Mon Sep 17 00:00:00 2001 From: Song Ruo Jing Date: Mon, 21 Nov 2022 15:53:50 +0800 Subject: [PATCH 5/7] ci: Add extra_default_build_targets logic to check_build_test_rules.py --- tools/ci/check_build_test_rules.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/tools/ci/check_build_test_rules.py b/tools/ci/check_build_test_rules.py index 1e345f0a97..9f7e5cb89b 100755 --- a/tools/ci/check_build_test_rules.py +++ b/tools/ci/check_build_test_rules.py @@ -209,8 +209,10 @@ def check_test_scripts( paths: List[str], exclude_dirs: Optional[List[str]] = None, bypass_check_test_targets: Optional[List[str]] = None, + extra_default_build_targets: Optional[List[str]] = None, ) -> None: from idf_build_apps import App, find_apps + from idf_build_apps.constants import SUPPORTED_TARGETS # takes long time, run only in CI # dict: @@ -323,6 +325,7 @@ def check_test_scripts( manifest_files=[ str(p) for p in Path(IDF_PATH).glob('**/.build-test-rules.yml') ], + default_build_targets=SUPPORTED_TARGETS + extra_default_build_targets, ) ) exit_code = 0 @@ -467,17 +470,17 @@ if __name__ == '__main__': else: _exclude_dirs = [] - extra_default_build_targets: List[str] = [] - bypass_check_test_targets: List[str] = [] + extra_default_build_targets_list: List[str] = [] + bypass_check_test_targets_list: List[str] = [] if arg.config: with open(arg.config) as fr: configs = yaml.safe_load(fr) if configs: - extra_default_build_targets = ( + extra_default_build_targets_list = ( configs.get('extra_default_build_targets') or [] ) - bypass_check_test_targets = ( + bypass_check_test_targets_list = ( configs.get('bypass_check_test_targets') or [] ) @@ -485,11 +488,12 @@ if __name__ == '__main__': check_readme( list(check_dirs), exclude_dirs=_exclude_dirs, - extra_default_build_targets=extra_default_build_targets, + extra_default_build_targets=extra_default_build_targets_list, ) elif arg.action == 'check-test-scripts': check_test_scripts( list(check_dirs), exclude_dirs=_exclude_dirs, - bypass_check_test_targets=bypass_check_test_targets, + bypass_check_test_targets=bypass_check_test_targets_list, + extra_default_build_targets=extra_default_build_targets_list, ) From 7466ddfa8c9ffb840f633e9b9a300fb3a768c2b0 Mon Sep 17 00:00:00 2001 From: Song Ruo Jing Date: Tue, 22 Nov 2022 17:01:25 +0800 Subject: [PATCH 6/7] ci: Make consistence between pytest_*.py and .build-test-rules.yml for esp32c6 (i.e. to pass check_test_scripts_build_test_rules.py) --- .../test_apps/pytest_app_update_ut.py | 1 + .../bootloader_support/.build-test-rules.yml | 4 ++++ components/driver/.build-test-rules.yml | 18 -------------- .../pytest_legacy_mcpwm.py | 1 + .../pytest_legacy_rmt_driver.py | 1 + .../pytest_legacy_temp_sensor_driver.py | 1 + .../driver/test_apps/mcpwm/pytest_mcpwm.py | 1 + components/driver/test_apps/rmt/pytest_rmt.py | 1 + components/driver/test_apps/sdm/pytest_sdm.py | 1 + .../driver/test_apps/spi/master/README.md | 4 ++-- .../test_apps/spi/master/pytest_spi_master.py | 2 +- .../driver/test_apps/spi/slave/README.md | 4 ++-- .../test_apps/spi/slave/pytest_spi_slave.py | 2 +- .../driver/test_apps/spi/slave_hd/README.md | 4 ++-- .../spi/slave_hd/pytest_spi_slave_hd.py | 2 +- .../pytest_temperature_sensor.py | 1 + components/efuse/test_apps/pytest_efuse.py | 1 + .../test_apps/dma/pytest_dma.py | 1 + .../test_apps/rtc_clk/pytest_rtc_clk.py | 1 + components/esp_lcd/.build-test-rules.yml | 12 ---------- .../esp_lcd/test_apps/i2c_lcd/README.md | 4 ++-- .../esp_lcd/test_apps/spi_lcd/README.md | 4 ++-- .../esp_rom/test_apps/pytest_esp_rom.py | 1 + components/esp_system/.build-test-rules.yml | 6 +++++ .../test_apps/rtc_8md256/pytest_rtc_8md256.py | 5 +++- .../test_apps/pytest_esp_timer_ut.py | 4 ++-- .../wifi_function/pytest_wifi_function.py | 1 + components/newlib/test_apps/pytest_newlib.py | 1 + components/spi_flash/.build-test-rules.yml | 2 +- .../test_apps/flash_mmap/pytest_mmap.py | 1 + examples/build_system/.build-test-rules.yml | 2 +- .../mcpwm_capture_hc_sr04/pytest_hc_sr04.py | 1 + .../pytest_servo_mg996r.py | 1 + .../mcpwm/mcpwm_sync/pytest_mcpwm_sync.py | 1 + .../rmt/dshot_esc/pytest_dshot_esc.py | 1 + .../rmt/led_strip/pytest_led_strip.py | 1 + .../musical_buzzer/pytest_musical_buzzer.py | 1 + .../onewire_ds18b20/pytest_onewire_ds18b20.py | 1 + .../rmt/stepper_motor/pytest_stepper_motor.py | 1 + .../sigma_delta/pytest_sdm_example.py | 1 + .../temp_sensor/pytest_temp_sensor_example.py | 1 + .../esp_http_client/pytest_esp_http_client.py | 10 +++++++- .../esp_local_ctrl/pytest_esp_local_ctrl.py | 1 + .../https_request/pytest_https_request.py | 1 + examples/security/.build-test-rules.yml | 2 +- examples/storage/.build-test-rules.yml | 24 +++++++++---------- examples/system/.build-test-rules.yml | 5 +++- examples/system/eventfd/pytest_eventfd.py | 1 + .../native_ota_example/pytest_native_ota.py | 5 ++++ examples/system/ota/otatool/pytest_otatool.py | 1 + examples/system/select/pytest_select.py | 1 + .../task_watchdog/pytest_task_watchdog.py | 1 + 52 files changed, 93 insertions(+), 63 deletions(-) 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 e30eec250c..286994813f 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,7 @@ def run_multiple_stages(dut: Dut, test_case_num: int, stages: int) -> None: @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.generic def test_app_update(dut: Dut) -> None: extra_data = dut.parse_test_menu() diff --git a/components/bootloader_support/.build-test-rules.yml b/components/bootloader_support/.build-test-rules.yml index 935c7d342e..f13bfd6485 100644 --- a/components/bootloader_support/.build-test-rules.yml +++ b/components/bootloader_support/.build-test-rules.yml @@ -5,3 +5,7 @@ components/bootloader_support/test_apps/rtc_custom_section: - if: IDF_TARGET == "esp32c2" temporary: false reason: esp32c2 does not have RTC memory + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet diff --git a/components/driver/.build-test-rules.yml b/components/driver/.build-test-rules.yml index 7a3c77dd99..84d13b4918 100644 --- a/components/driver/.build-test-rules.yml +++ b/components/driver/.build-test-rules.yml @@ -73,24 +73,6 @@ components/driver/test_apps/sdm: disable: - if: SOC_SDM_SUPPORTED != 1 -components/driver/test_apps/spi/master: - disable: - - if: IDF_TARGET == "esp32c6" - temporary: true - reason: target esp32c6 is not supported yet - -components/driver/test_apps/spi/slave: - disable: - - if: IDF_TARGET == "esp32c6" - temporary: true - reason: target esp32c6 is not supported yet - -components/driver/test_apps/spi/slave_hd: - disable: - - if: IDF_TARGET == "esp32c6" - temporary: true - reason: target esp32c6 is not supported yet - components/driver/test_apps/temperature_sensor: disable: - if: SOC_TEMP_SENSOR_SUPPORTED != 1 diff --git a/components/driver/test_apps/legacy_mcpwm_driver/pytest_legacy_mcpwm.py b/components/driver/test_apps/legacy_mcpwm_driver/pytest_legacy_mcpwm.py index 25da5646d2..e2ed1b1d4b 100644 --- a/components/driver/test_apps/legacy_mcpwm_driver/pytest_legacy_mcpwm.py +++ b/components/driver/test_apps/legacy_mcpwm_driver/pytest_legacy_mcpwm.py @@ -7,6 +7,7 @@ from pytest_embedded import Dut @pytest.mark.esp32 @pytest.mark.esp32s3 +@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/driver/test_apps/legacy_rmt_driver/pytest_legacy_rmt_driver.py b/components/driver/test_apps/legacy_rmt_driver/pytest_legacy_rmt_driver.py index 84b97179c9..d0ebfc47d0 100644 --- a/components/driver/test_apps/legacy_rmt_driver/pytest_legacy_rmt_driver.py +++ b/components/driver/test_apps/legacy_rmt_driver/pytest_legacy_rmt_driver.py @@ -9,6 +9,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize('config', [ 'release', diff --git a/components/driver/test_apps/legacy_rtc_temp_driver/pytest_legacy_temp_sensor_driver.py b/components/driver/test_apps/legacy_rtc_temp_driver/pytest_legacy_temp_sensor_driver.py index e29d1e1f90..98027b4c6d 100644 --- a/components/driver/test_apps/legacy_rtc_temp_driver/pytest_legacy_temp_sensor_driver.py +++ b/components/driver/test_apps/legacy_rtc_temp_driver/pytest_legacy_temp_sensor_driver.py @@ -9,6 +9,7 @@ from pytest_embedded import Dut @pytest.mark.esp32c3 @pytest.mark.esp32s3 @pytest.mark.esp32c2 +@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize('config', [ 'release', diff --git a/components/driver/test_apps/mcpwm/pytest_mcpwm.py b/components/driver/test_apps/mcpwm/pytest_mcpwm.py index 6def6d2cf4..427d6d062c 100644 --- a/components/driver/test_apps/mcpwm/pytest_mcpwm.py +++ b/components/driver/test_apps/mcpwm/pytest_mcpwm.py @@ -7,6 +7,7 @@ from pytest_embedded import Dut @pytest.mark.esp32 @pytest.mark.esp32s3 +@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/driver/test_apps/rmt/pytest_rmt.py b/components/driver/test_apps/rmt/pytest_rmt.py index 441f669120..61ac424f66 100644 --- a/components/driver/test_apps/rmt/pytest_rmt.py +++ b/components/driver/test_apps/rmt/pytest_rmt.py @@ -9,6 +9,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/driver/test_apps/sdm/pytest_sdm.py b/components/driver/test_apps/sdm/pytest_sdm.py index 4f36a104e0..d40b9ee056 100644 --- a/components/driver/test_apps/sdm/pytest_sdm.py +++ b/components/driver/test_apps/sdm/pytest_sdm.py @@ -9,6 +9,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/driver/test_apps/spi/master/README.md b/components/driver/test_apps/spi/master/README.md index 284564238d..2beabff547 100644 --- a/components/driver/test_apps/spi/master/README.md +++ b/components/driver/test_apps/spi/master/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | \ No newline at end of file +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | \ No newline at end of file diff --git a/components/driver/test_apps/spi/master/pytest_spi_master.py b/components/driver/test_apps/spi/master/pytest_spi_master.py index 139f5901d2..7066edbc3b 100644 --- a/components/driver/test_apps/spi/master/pytest_spi_master.py +++ b/components/driver/test_apps/spi/master/pytest_spi_master.py @@ -5,7 +5,6 @@ import pytest # If `test_env` is define, should not run on generic runner -@pytest.mark.esp32c6 @pytest.mark.supported_targets @pytest.mark.generic def test_master_single_dev(case_tester) -> None: # type: ignore @@ -27,6 +26,7 @@ def test_master_esp_flash(case_tester) -> None: # type: ignore # if `test_env` not defined, will run on `generic_multi_device` by default @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='no runner') @pytest.mark.generic_multi_device @pytest.mark.parametrize('count', [2,], indirect=True) def test_master_multi_dev(case_tester) -> None: # type: ignore diff --git a/components/driver/test_apps/spi/slave/README.md b/components/driver/test_apps/spi/slave/README.md index 284564238d..2beabff547 100644 --- a/components/driver/test_apps/spi/slave/README.md +++ b/components/driver/test_apps/spi/slave/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | \ No newline at end of file +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | \ No newline at end of file diff --git a/components/driver/test_apps/spi/slave/pytest_spi_slave.py b/components/driver/test_apps/spi/slave/pytest_spi_slave.py index 6b4fd81a47..55c6aac98c 100644 --- a/components/driver/test_apps/spi/slave/pytest_spi_slave.py +++ b/components/driver/test_apps/spi/slave/pytest_spi_slave.py @@ -5,7 +5,6 @@ import pytest # If `test_env` is define, should not run on generic runner -@pytest.mark.esp32c6 @pytest.mark.supported_targets @pytest.mark.generic def test_slave_single_dev(case_tester) -> None: # type: ignore @@ -17,6 +16,7 @@ def test_slave_single_dev(case_tester) -> None: # type: ignore # if `test_env` not defined, will run on `generic_multi_device` by default @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='no runner') @pytest.mark.generic_multi_device @pytest.mark.parametrize('count', [2,], indirect=True) def test_slave_multi_dev(case_tester) -> None: # type: ignore diff --git a/components/driver/test_apps/spi/slave_hd/README.md b/components/driver/test_apps/spi/slave_hd/README.md index 284564238d..2beabff547 100644 --- a/components/driver/test_apps/spi/slave_hd/README.md +++ b/components/driver/test_apps/spi/slave_hd/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | \ No newline at end of file +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | \ No newline at end of file diff --git a/components/driver/test_apps/spi/slave_hd/pytest_spi_slave_hd.py b/components/driver/test_apps/spi/slave_hd/pytest_spi_slave_hd.py index 6a41d81333..644cab166b 100644 --- a/components/driver/test_apps/spi/slave_hd/pytest_spi_slave_hd.py +++ b/components/driver/test_apps/spi/slave_hd/pytest_spi_slave_hd.py @@ -5,7 +5,6 @@ import pytest # If `test_env` is define, should not run on generic runner -@pytest.mark.esp32c6 @pytest.mark.supported_targets @pytest.mark.generic def test_slave_hd_single_dev(case_tester) -> None: # type: ignore @@ -17,6 +16,7 @@ def test_slave_hd_single_dev(case_tester) -> None: # type: ignore # if `test_env` not defined, will run on `generic_multi_device` by default @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='no runner') @pytest.mark.generic_multi_device @pytest.mark.parametrize('count', [2,], indirect=True) def test_slave_hd_multi_dev(case_tester) -> None: # type: ignore diff --git a/components/driver/test_apps/temperature_sensor/pytest_temperature_sensor.py b/components/driver/test_apps/temperature_sensor/pytest_temperature_sensor.py index 12a8c4a56e..317768e8ef 100644 --- a/components/driver/test_apps/temperature_sensor/pytest_temperature_sensor.py +++ b/components/driver/test_apps/temperature_sensor/pytest_temperature_sensor.py @@ -9,6 +9,7 @@ from pytest_embedded import Dut @pytest.mark.esp32c3 @pytest.mark.esp32s3 @pytest.mark.esp32c2 +@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize('config', [ 'release', diff --git a/components/efuse/test_apps/pytest_efuse.py b/components/efuse/test_apps/pytest_efuse.py index ef910095dc..402837ab6a 100644 --- a/components/efuse/test_apps/pytest_efuse.py +++ b/components/efuse/test_apps/pytest_efuse.py @@ -8,6 +8,7 @@ from pytest_embedded import Dut @pytest.mark.esp32 @pytest.mark.esp32c2 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_efuse(dut: Dut) -> None: dut.expect_exact('Press ENTER to see the list of tests') 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 d15a0ea289..b45fae6055 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.esp32s3 @pytest.mark.esp32c2 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize( 'config', 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 16768215ed..bc61e04a80 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 @@ -33,5 +33,6 @@ def test_rtc_no_xtal32k(dut: Dut) -> None: @pytest.mark.generic @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') def test_rtc_calib(case_tester: Any) -> None: case_tester.run_all_multi_stage_cases() diff --git a/components/esp_lcd/.build-test-rules.yml b/components/esp_lcd/.build-test-rules.yml index 951267c53a..8df02267ec 100644 --- a/components/esp_lcd/.build-test-rules.yml +++ b/components/esp_lcd/.build-test-rules.yml @@ -1,11 +1,5 @@ # Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps -components/esp_lcd/test_apps/i2c_lcd: - disable: - - if: IDF_TARGET == "esp32c6" - temporary: true - reason: target esp32c6 is not supported yet - components/esp_lcd/test_apps/i80_lcd: disable: - if: SOC_LCD_I80_SUPPORTED != 1 @@ -13,9 +7,3 @@ components/esp_lcd/test_apps/i80_lcd: components/esp_lcd/test_apps/rgb_lcd: disable: - if: SOC_LCD_RGB_SUPPORTED != 1 - -components/esp_lcd/test_apps/spi_lcd: - disable: - - if: IDF_TARGET == "esp32c6" - temporary: true - reason: target esp32c6 is not supported yet diff --git a/components/esp_lcd/test_apps/i2c_lcd/README.md b/components/esp_lcd/test_apps/i2c_lcd/README.md index 863eaede67..b99fe2b5eb 100644 --- a/components/esp_lcd/test_apps/i2c_lcd/README.md +++ b/components/esp_lcd/test_apps/i2c_lcd/README.md @@ -1,4 +1,4 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | This test app is used to test LCDs with I2C interface. diff --git a/components/esp_lcd/test_apps/spi_lcd/README.md b/components/esp_lcd/test_apps/spi_lcd/README.md index bd4250408a..0c052495c6 100644 --- a/components/esp_lcd/test_apps/spi_lcd/README.md +++ b/components/esp_lcd/test_apps/spi_lcd/README.md @@ -1,4 +1,4 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | This test app is used to test LCDs with SPI interface. diff --git a/components/esp_rom/test_apps/pytest_esp_rom.py b/components/esp_rom/test_apps/pytest_esp_rom.py index 9ddf838c2b..ecb961ca75 100644 --- a/components/esp_rom/test_apps/pytest_esp_rom.py +++ b/components/esp_rom/test_apps/pytest_esp_rom.py @@ -8,6 +8,7 @@ from pytest_embedded import Dut @pytest.mark.esp32c3 @pytest.mark.esp32s2 @pytest.mark.esp32s3 +@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.nightly_run def test_esp_rom(dut: Dut) -> None: diff --git a/components/esp_system/.build-test-rules.yml b/components/esp_system/.build-test-rules.yml index fbafabf15d..1c0b6b0f7d 100644 --- a/components/esp_system/.build-test-rules.yml +++ b/components/esp_system/.build-test-rules.yml @@ -3,9 +3,15 @@ components/esp_system/host_test/esp_system: enable: - if: IDF_TARGET == "linux" + components/esp_system/test_apps/rtc_8md256: disable: - if: SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256 != 1 + disable_test: + - if: IDF_TARGET == "esp32c2" + temporary: true + reason: target esp32c2 is not supported yet IDF-5131 + components/esp_system/test_apps/rtc_power_modes: enable: - if: IDF_TARGET == "esp32s3" diff --git a/components/esp_system/test_apps/rtc_8md256/pytest_rtc_8md256.py b/components/esp_system/test_apps/rtc_8md256/pytest_rtc_8md256.py index 8410d9a5a5..badee8f269 100644 --- a/components/esp_system/test_apps/rtc_8md256/pytest_rtc_8md256.py +++ b/components/esp_system/test_apps/rtc_8md256/pytest_rtc_8md256.py @@ -48,7 +48,10 @@ def lightsleep_test(dut: Dut, case_name: str) -> None: dut.expect(r'Returned from light sleep, reason: timer', timeout=10) -@pytest.mark.supported_targets +@pytest.mark.esp32 +@pytest.mark.esp32s2 +@pytest.mark.esp32s3 +@pytest.mark.esp32c3 @pytest.mark.generic def test_rtc_8md256_lightsleep(dut: Dut) -> None: lightsleep_test(dut, '"Can use 8MD256 as RTC clock source in lightsleep"') diff --git a/components/esp_timer/test_apps/pytest_esp_timer_ut.py b/components/esp_timer/test_apps/pytest_esp_timer_ut.py index 4587730bdb..a6b0847658 100644 --- a/components/esp_timer/test_apps/pytest_esp_timer_ut.py +++ b/components/esp_timer/test_apps/pytest_esp_timer_ut.py @@ -5,8 +5,8 @@ import pytest from pytest_embedded import Dut CONFIGS = [ - pytest.param('general', marks=[pytest.mark.supported_targets]), - pytest.param('release', marks=[pytest.mark.supported_targets]), + pytest.param('general', marks=[pytest.mark.supported_targets, pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD')]), + pytest.param('release', marks=[pytest.mark.supported_targets, pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD')]), pytest.param('single_core', marks=[pytest.mark.esp32]), pytest.param('freertos_compliance', marks=[pytest.mark.esp32]), pytest.param('isr_dispatch_esp32', marks=[pytest.mark.esp32]), diff --git a/components/esp_wifi/test_apps/wifi_function/pytest_wifi_function.py b/components/esp_wifi/test_apps/wifi_function/pytest_wifi_function.py index aa9de10372..1814f7a21a 100644 --- a/components/esp_wifi/test_apps/wifi_function/pytest_wifi_function.py +++ b/components/esp_wifi/test_apps/wifi_function/pytest_wifi_function.py @@ -6,6 +6,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.generic def test_wifi_unit_test(dut: Dut) -> None: dut.expect_exact('Press ENTER to see the list of tests') diff --git a/components/newlib/test_apps/pytest_newlib.py b/components/newlib/test_apps/pytest_newlib.py index 81a2f579b4..76b55367b8 100644 --- a/components/newlib/test_apps/pytest_newlib.py +++ b/components/newlib/test_apps/pytest_newlib.py @@ -6,6 +6,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.generic def test_newlib(dut: Dut) -> None: dut.expect_unity_test_output() diff --git a/components/spi_flash/.build-test-rules.yml b/components/spi_flash/.build-test-rules.yml index a1d2f26e6b..75439ba8ab 100644 --- a/components/spi_flash/.build-test-rules.yml +++ b/components/spi_flash/.build-test-rules.yml @@ -8,7 +8,7 @@ components/spi_flash/test_apps/esp_flash: components/spi_flash/test_apps/flash_encryption: disable_test: - - if: IDF_TARGET in ["esp32c2", "esp32s2"] + - if: IDF_TARGET in ["esp32c2", "esp32s2", "esp32c6"] temporary: true reason: No runners # IDF-5634 diff --git a/components/spi_flash/test_apps/flash_mmap/pytest_mmap.py b/components/spi_flash/test_apps/flash_mmap/pytest_mmap.py index 53745d3332..7e72f45cc7 100644 --- a/components/spi_flash/test_apps/flash_mmap/pytest_mmap.py +++ b/components/spi_flash/test_apps/flash_mmap/pytest_mmap.py @@ -6,6 +6,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/examples/build_system/.build-test-rules.yml b/examples/build_system/.build-test-rules.yml index 6388351100..f0e9fd5623 100644 --- a/examples/build_system/.build-test-rules.yml +++ b/examples/build_system/.build-test-rules.yml @@ -2,7 +2,7 @@ examples/build_system/cmake/import_lib: disable_test: - - if: IDF_TARGET in ["esp32c2", "esp32c3", "esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32c2", "esp32c3", "esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners diff --git a/examples/peripherals/mcpwm/mcpwm_capture_hc_sr04/pytest_hc_sr04.py b/examples/peripherals/mcpwm/mcpwm_capture_hc_sr04/pytest_hc_sr04.py index 70ca04bc69..f87ab4b197 100644 --- a/examples/peripherals/mcpwm/mcpwm_capture_hc_sr04/pytest_hc_sr04.py +++ b/examples/peripherals/mcpwm/mcpwm_capture_hc_sr04/pytest_hc_sr04.py @@ -7,6 +7,7 @@ from pytest_embedded import Dut @pytest.mark.esp32 @pytest.mark.esp32s3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_hc_sr04_example(dut: Dut) -> None: dut.expect_exact('example: Install capture timer') diff --git a/examples/peripherals/mcpwm/mcpwm_servo_control/pytest_servo_mg996r.py b/examples/peripherals/mcpwm/mcpwm_servo_control/pytest_servo_mg996r.py index d22aa363d5..fc33d1125f 100644 --- a/examples/peripherals/mcpwm/mcpwm_servo_control/pytest_servo_mg996r.py +++ b/examples/peripherals/mcpwm/mcpwm_servo_control/pytest_servo_mg996r.py @@ -7,6 +7,7 @@ from pytest_embedded import Dut @pytest.mark.esp32 @pytest.mark.esp32s3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_servo_mg996r_example(dut: Dut) -> None: dut.expect_exact('example: Create timer and operator') diff --git a/examples/peripherals/mcpwm/mcpwm_sync/pytest_mcpwm_sync.py b/examples/peripherals/mcpwm/mcpwm_sync/pytest_mcpwm_sync.py index 3e130c6646..6bf09fa2c9 100644 --- a/examples/peripherals/mcpwm/mcpwm_sync/pytest_mcpwm_sync.py +++ b/examples/peripherals/mcpwm/mcpwm_sync/pytest_mcpwm_sync.py @@ -7,6 +7,7 @@ from pytest_embedded import Dut @pytest.mark.esp32 @pytest.mark.esp32s3 +@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize('config', [ pytest.param('gpio', marks=[pytest.mark.esp32, pytest.mark.esp32s3]), diff --git a/examples/peripherals/rmt/dshot_esc/pytest_dshot_esc.py b/examples/peripherals/rmt/dshot_esc/pytest_dshot_esc.py index a5344b4637..3723f1d03b 100644 --- a/examples/peripherals/rmt/dshot_esc/pytest_dshot_esc.py +++ b/examples/peripherals/rmt/dshot_esc/pytest_dshot_esc.py @@ -9,6 +9,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_dshot_esc_example(dut: Dut) -> None: dut.expect_exact('example: Create RMT TX channel') diff --git a/examples/peripherals/rmt/led_strip/pytest_led_strip.py b/examples/peripherals/rmt/led_strip/pytest_led_strip.py index c3daa80356..45a36431a1 100644 --- a/examples/peripherals/rmt/led_strip/pytest_led_strip.py +++ b/examples/peripherals/rmt/led_strip/pytest_led_strip.py @@ -9,6 +9,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_led_strip_example(dut: Dut) -> None: dut.expect_exact('example: Create RMT TX channel') diff --git a/examples/peripherals/rmt/musical_buzzer/pytest_musical_buzzer.py b/examples/peripherals/rmt/musical_buzzer/pytest_musical_buzzer.py index 8386110c34..17d90991c4 100644 --- a/examples/peripherals/rmt/musical_buzzer/pytest_musical_buzzer.py +++ b/examples/peripherals/rmt/musical_buzzer/pytest_musical_buzzer.py @@ -8,6 +8,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 # @pytest.mark.esp32h4 TODO: uncomment this when remove --preview for h4 @pytest.mark.generic def test_musical_buzzer_example(dut: Dut) -> None: diff --git a/examples/peripherals/rmt/onewire_ds18b20/pytest_onewire_ds18b20.py b/examples/peripherals/rmt/onewire_ds18b20/pytest_onewire_ds18b20.py index 4b189f3153..41cb8c3209 100644 --- a/examples/peripherals/rmt/onewire_ds18b20/pytest_onewire_ds18b20.py +++ b/examples/peripherals/rmt/onewire_ds18b20/pytest_onewire_ds18b20.py @@ -8,6 +8,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_onewire_ds18b20_example(dut: Dut) -> None: dut.expect_exact('onewire_rmt: RMT Tx channel created for 1-wire bus') diff --git a/examples/peripherals/rmt/stepper_motor/pytest_stepper_motor.py b/examples/peripherals/rmt/stepper_motor/pytest_stepper_motor.py index d290fb17b9..851563a3e2 100644 --- a/examples/peripherals/rmt/stepper_motor/pytest_stepper_motor.py +++ b/examples/peripherals/rmt/stepper_motor/pytest_stepper_motor.py @@ -6,6 +6,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_ir_nec_example(dut: Dut) -> None: dut.expect_exact('example: Initialize EN + DIR GPIO') diff --git a/examples/peripherals/sigma_delta/pytest_sdm_example.py b/examples/peripherals/sigma_delta/pytest_sdm_example.py index cfe2fc9908..4a233013bc 100644 --- a/examples/peripherals/sigma_delta/pytest_sdm_example.py +++ b/examples/peripherals/sigma_delta/pytest_sdm_example.py @@ -9,6 +9,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_sdm_example(dut: Dut) -> None: dut.expect_exact('example: Install sigma delta channel') diff --git a/examples/peripherals/temp_sensor/pytest_temp_sensor_example.py b/examples/peripherals/temp_sensor/pytest_temp_sensor_example.py index 161f508c50..3bc5992169 100644 --- a/examples/peripherals/temp_sensor/pytest_temp_sensor_example.py +++ b/examples/peripherals/temp_sensor/pytest_temp_sensor_example.py @@ -9,6 +9,7 @@ from pytest_embedded.dut import Dut @pytest.mark.esp32c3 @pytest.mark.esp32s3 @pytest.mark.esp32c2 +@pytest.mark.esp32c6 @pytest.mark.generic def test_temp_sensor_example(dut: Dut) -> None: dut.expect_exact('Install temperature sensor') diff --git a/examples/protocols/esp_http_client/pytest_esp_http_client.py b/examples/protocols/esp_http_client/pytest_esp_http_client.py index c61d41f20f..d87bb07da6 100644 --- a/examples/protocols/esp_http_client/pytest_esp_http_client.py +++ b/examples/protocols/esp_http_client/pytest_esp_http_client.py @@ -57,7 +57,15 @@ def test_examples_protocol_esp_http_client(dut: Dut) -> None: dut.expect('Finish http example') -@pytest.mark.parametrize('config', [pytest.param('ssldyn', marks=[pytest.mark.supported_targets, pytest.mark.ethernet]),], indirect=True) +@pytest.mark.parametrize( + 'config', + [ + pytest.param('ssldyn', marks=[pytest.mark.supported_targets, + pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD'), + pytest.mark.ethernet]), + ], + indirect=True +) def test_examples_protocol_esp_http_client_dynamic_buffer(dut: Dut) -> None: # test mbedtls dynamic resource # check and log bin size diff --git a/examples/protocols/esp_local_ctrl/pytest_esp_local_ctrl.py b/examples/protocols/esp_local_ctrl/pytest_esp_local_ctrl.py index 40c3dbca4e..17819348c2 100644 --- a/examples/protocols/esp_local_ctrl/pytest_esp_local_ctrl.py +++ b/examples/protocols/esp_local_ctrl/pytest_esp_local_ctrl.py @@ -40,6 +40,7 @@ class CustomProcess(object): @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.wifi_router def test_examples_esp_local_ctrl(dut: Dut) -> None: diff --git a/examples/protocols/https_request/pytest_https_request.py b/examples/protocols/https_request/pytest_https_request.py index 176ea0de2b..7d3406d51a 100644 --- a/examples/protocols/https_request/pytest_https_request.py +++ b/examples/protocols/https_request/pytest_https_request.py @@ -154,6 +154,7 @@ def test_examples_protocol_https_request_dynamic_buffers(dut: Dut) -> None: @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.ethernet @pytest.mark.parametrize('erase_nvs', ['y'], indirect=True) def test_examples_protocol_https_request(dut: Dut) -> None: diff --git a/examples/security/.build-test-rules.yml b/examples/security/.build-test-rules.yml index de87020fcf..3bd4346270 100644 --- a/examples/security/.build-test-rules.yml +++ b/examples/security/.build-test-rules.yml @@ -6,6 +6,6 @@ examples/security/flash_encryption: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners diff --git a/examples/storage/.build-test-rules.yml b/examples/storage/.build-test-rules.yml index 745a6443b6..010ce906c4 100644 --- a/examples/storage/.build-test-rules.yml +++ b/examples/storage/.build-test-rules.yml @@ -22,7 +22,7 @@ examples/storage/fatfsgen: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32c3", "esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32c3", "esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -32,7 +32,7 @@ examples/storage/nvs_rw_blob: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -42,7 +42,7 @@ examples/storage/nvs_rw_value: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -52,7 +52,7 @@ examples/storage/nvs_rw_value_cxx: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -62,7 +62,7 @@ examples/storage/partition_api/partition_find: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -72,7 +72,7 @@ examples/storage/partition_api/partition_mmap: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -82,7 +82,7 @@ examples/storage/partition_api/partition_ops: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -92,7 +92,7 @@ examples/storage/parttool: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -120,7 +120,7 @@ examples/storage/semihost_vfs: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32c3", "esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32c3", "esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -130,7 +130,7 @@ examples/storage/spiffs: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -140,7 +140,7 @@ examples/storage/spiffsgen: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners @@ -150,6 +150,6 @@ examples/storage/wear_levelling: temporary: true reason: target esp32c2 is not supported yet disable_test: - - if: IDF_TARGET in ["esp32s2", "esp32s3"] + - if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32c6"] temporary: true reason: lack of runners diff --git a/examples/system/.build-test-rules.yml b/examples/system/.build-test-rules.yml index e7e1a87e03..69f3404c23 100644 --- a/examples/system/.build-test-rules.yml +++ b/examples/system/.build-test-rules.yml @@ -47,6 +47,9 @@ examples/system/efuse: - if: IDF_TARGET == "esp32s3" temporary: true reason: lack of runners + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet examples/system/esp_timer: disable: @@ -174,7 +177,7 @@ examples/system/task_watchdog: disable_test: - if: IDF_TARGET == "esp32c2" temporary: true - reason: lack of runners + reason: target esp32c2 is not supported yet examples/system/ulp_fsm/ulp: disable: diff --git a/examples/system/eventfd/pytest_eventfd.py b/examples/system/eventfd/pytest_eventfd.py index 093879a19f..55d88a08c9 100644 --- a/examples/system/eventfd/pytest_eventfd.py +++ b/examples/system/eventfd/pytest_eventfd.py @@ -13,6 +13,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_eventfd(dut: Dut) -> None: diff --git a/examples/system/ota/native_ota_example/pytest_native_ota.py b/examples/system/ota/native_ota_example/pytest_native_ota.py index d590174f4d..169173934a 100644 --- a/examples/system/ota/native_ota_example/pytest_native_ota.py +++ b/examples/system/ota/native_ota_example/pytest_native_ota.py @@ -122,6 +122,7 @@ def start_chunked_server(ota_image_dir: str, server_port: int) -> subprocess.Pop @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.ethernet_ota def test_examples_protocol_native_ota_example(dut: Dut) -> None: """ @@ -161,6 +162,7 @@ def test_examples_protocol_native_ota_example(dut: Dut) -> None: @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.ethernet_ota def test_examples_protocol_native_ota_example_truncated_bin(dut: Dut) -> None: """ @@ -211,6 +213,7 @@ def test_examples_protocol_native_ota_example_truncated_bin(dut: Dut) -> None: @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.ethernet_ota def test_examples_protocol_native_ota_example_truncated_header(dut: Dut) -> None: """ @@ -260,6 +263,7 @@ def test_examples_protocol_native_ota_example_truncated_header(dut: Dut) -> None @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.ethernet_ota def test_examples_protocol_native_ota_example_random(dut: Dut) -> None: """ @@ -309,6 +313,7 @@ def test_examples_protocol_native_ota_example_random(dut: Dut) -> None: @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='c6 support TBD') @pytest.mark.ethernet_ota def test_examples_protocol_native_ota_example_chunked(dut: Dut) -> None: """ diff --git a/examples/system/ota/otatool/pytest_otatool.py b/examples/system/ota/otatool/pytest_otatool.py index 555c38312e..da5ef502fa 100644 --- a/examples/system/ota/otatool/pytest_otatool.py +++ b/examples/system/ota/otatool/pytest_otatool.py @@ -14,6 +14,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32c3 @pytest.mark.esp32s3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_otatool_example(dut: Dut) -> None: # Verify factory firmware diff --git a/examples/system/select/pytest_select.py b/examples/system/select/pytest_select.py index c09a176db1..c5b2255a5e 100644 --- a/examples/system/select/pytest_select.py +++ b/examples/system/select/pytest_select.py @@ -22,6 +22,7 @@ def get_uart_msgs(i: int) -> List[str]: @pytest.mark.esp32 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_examples_select(dut: Dut) -> None: diff --git a/examples/system/task_watchdog/pytest_task_watchdog.py b/examples/system/task_watchdog/pytest_task_watchdog.py index 77d2aca393..a25ada616f 100644 --- a/examples/system/task_watchdog/pytest_task_watchdog.py +++ b/examples/system/task_watchdog/pytest_task_watchdog.py @@ -10,6 +10,7 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 +@pytest.mark.esp32c6 @pytest.mark.generic def test_task_watchdog(dut: Dut) -> None: From 1575b9e43ad96d3310e0a70e6dcbda2bd405f7ea Mon Sep 17 00:00:00 2001 From: Song Ruo Jing Date: Thu, 24 Nov 2022 19:42:59 +0800 Subject: [PATCH 7/7] ci: Disable all currently failed target tests for esp32c6 --- components/app_update/.build-test-rules.yml | 2 +- components/driver/.build-test-rules.yml | 32 +++++++++++++++++++ .../test_apps/gptimer/pytest_gptimer.py | 1 + .../legacy_i2s_driver/pytest_legacy_i2s.py | 1 - .../pytest_legacy_mcpwm.py | 1 - .../pytest_legacy_timer_driver.py | 1 + .../driver/test_apps/mcpwm/pytest_mcpwm.py | 1 - components/driver/test_apps/rmt/pytest_rmt.py | 1 - components/esp_system/test/test_task_wdt.c | 4 +++ .../test_apps/freertos/pytest_freertos.py | 6 ++-- components/hal/test/test_mpu.c | 4 +-- components/heap/.build-test-rules.yml | 7 ++++ components/heap/test_apps/pytest_heap.py | 1 + components/mbedtls/.build-test-rules.yml | 7 ++++ .../mbedtls/test_apps/pytest_mbedtls_ut.py | 1 + components/newlib/test/test_newlib.c | 2 ++ components/sdmmc/test/test_sd.c | 4 +-- .../spi_flash/test/test_cache_disabled.c | 2 ++ components/spi_flash/test/test_read_write.c | 2 ++ components/wpa_supplicant/test/test_crypto.c | 2 ++ examples/peripherals/.build-test-rules.yml | 14 ++++++++ .../i2s/i2s_basic/i2s_pdm/pytest_i2s_pdm.py | 1 - .../rmt/stepper_motor/pytest_stepper_motor.py | 3 +- .../legacy_driver/pytest_timer_group.py | 1 + examples/system/.build-test-rules.yml | 3 ++ examples/system/select/pytest_select.py | 1 - .../test_utils/test/ccomp_timer_test_data.c | 4 +-- tools/unit-test-app/unit_test.py | 1 + 28 files changed, 92 insertions(+), 18 deletions(-) create mode 100644 components/heap/.build-test-rules.yml create mode 100644 components/mbedtls/.build-test-rules.yml diff --git a/components/app_update/.build-test-rules.yml b/components/app_update/.build-test-rules.yml index 656094c062..6d53128e02 100644 --- a/components/app_update/.build-test-rules.yml +++ b/components/app_update/.build-test-rules.yml @@ -3,5 +3,5 @@ components/app_update/test_apps: disable: - if: IDF_TARGET == "esp32c6" - temporary: false + temporary: true reason: target esp32c6 is not supported yet diff --git a/components/driver/.build-test-rules.yml b/components/driver/.build-test-rules.yml index 84d13b4918..da5ad32373 100644 --- a/components/driver/.build-test-rules.yml +++ b/components/driver/.build-test-rules.yml @@ -8,6 +8,12 @@ components/driver/test_apps/dac_test_apps/legacy_dac_driver: disable: - if: SOC_DAC_SUPPORTED != 1 +components/driver/test_apps/gptimer: + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet + components/driver/test_apps/i2s_test_apps: disable: - if: SOC_I2S_SUPPORTED != 1 @@ -20,6 +26,14 @@ components/driver/test_apps/i2s_test_apps/legacy_i2s_adc_dac: disable: - if: SOC_I2S_SUPPORTS_ADC_DAC != 1 +components/driver/test_apps/i2s_test_apps/legacy_i2s_driver: + disable: + - if: SOC_I2S_SUPPORTED != 1 + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet + components/driver/test_apps/legacy_adc_driver: disable: - if: IDF_TARGET == "esp32c6" @@ -29,6 +43,10 @@ components/driver/test_apps/legacy_adc_driver: components/driver/test_apps/legacy_mcpwm_driver: disable: - if: SOC_MCPWM_SUPPORTED != 1 + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet components/driver/test_apps/legacy_pcnt_driver: disable: @@ -45,9 +63,19 @@ components/driver/test_apps/legacy_rtc_temp_driver: disable: - if: SOC_TEMP_SENSOR_SUPPORTED != 1 +components/driver/test_apps/legacy_timer_driver: + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet + components/driver/test_apps/mcpwm: disable: - if: SOC_MCPWM_SUPPORTED != 1 + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet components/driver/test_apps/pulse_cnt: disable: @@ -56,6 +84,10 @@ components/driver/test_apps/pulse_cnt: components/driver/test_apps/rmt: disable: - if: SOC_RMT_SUPPORTED != 1 + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet components/driver/test_apps/rs485: disable_test: diff --git a/components/driver/test_apps/gptimer/pytest_gptimer.py b/components/driver/test_apps/gptimer/pytest_gptimer.py index 9ee6a734fd..af05477b69 100644 --- a/components/driver/test_apps/gptimer/pytest_gptimer.py +++ b/components/driver/test_apps/gptimer/pytest_gptimer.py @@ -6,6 +6,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='iram_safe test failed') @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/driver/test_apps/i2s_test_apps/legacy_i2s_driver/pytest_legacy_i2s.py b/components/driver/test_apps/i2s_test_apps/legacy_i2s_driver/pytest_legacy_i2s.py index 20810d2eb8..e3777b1045 100644 --- a/components/driver/test_apps/i2s_test_apps/legacy_i2s_driver/pytest_legacy_i2s.py +++ b/components/driver/test_apps/i2s_test_apps/legacy_i2s_driver/pytest_legacy_i2s.py @@ -8,7 +8,6 @@ from pytest_embedded import Dut @pytest.mark.esp32 @pytest.mark.esp32s2 @pytest.mark.esp32c3 -@pytest.mark.esp32c6 @pytest.mark.esp32s3 @pytest.mark.generic @pytest.mark.parametrize( diff --git a/components/driver/test_apps/legacy_mcpwm_driver/pytest_legacy_mcpwm.py b/components/driver/test_apps/legacy_mcpwm_driver/pytest_legacy_mcpwm.py index e2ed1b1d4b..25da5646d2 100644 --- a/components/driver/test_apps/legacy_mcpwm_driver/pytest_legacy_mcpwm.py +++ b/components/driver/test_apps/legacy_mcpwm_driver/pytest_legacy_mcpwm.py @@ -7,7 +7,6 @@ from pytest_embedded import Dut @pytest.mark.esp32 @pytest.mark.esp32s3 -@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/driver/test_apps/legacy_timer_driver/pytest_legacy_timer_driver.py b/components/driver/test_apps/legacy_timer_driver/pytest_legacy_timer_driver.py index 93ae72d934..5ee4c5074f 100644 --- a/components/driver/test_apps/legacy_timer_driver/pytest_legacy_timer_driver.py +++ b/components/driver/test_apps/legacy_timer_driver/pytest_legacy_timer_driver.py @@ -6,6 +6,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='test failed') @pytest.mark.generic @pytest.mark.parametrize('config', [ 'release', diff --git a/components/driver/test_apps/mcpwm/pytest_mcpwm.py b/components/driver/test_apps/mcpwm/pytest_mcpwm.py index 427d6d062c..6def6d2cf4 100644 --- a/components/driver/test_apps/mcpwm/pytest_mcpwm.py +++ b/components/driver/test_apps/mcpwm/pytest_mcpwm.py @@ -7,7 +7,6 @@ from pytest_embedded import Dut @pytest.mark.esp32 @pytest.mark.esp32s3 -@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/driver/test_apps/rmt/pytest_rmt.py b/components/driver/test_apps/rmt/pytest_rmt.py index 61ac424f66..441f669120 100644 --- a/components/driver/test_apps/rmt/pytest_rmt.py +++ b/components/driver/test_apps/rmt/pytest_rmt.py @@ -9,7 +9,6 @@ from pytest_embedded import Dut @pytest.mark.esp32s2 @pytest.mark.esp32s3 @pytest.mark.esp32c3 -@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/components/esp_system/test/test_task_wdt.c b/components/esp_system/test/test_task_wdt.c index 858dcd9ecf..858112281f 100644 --- a/components/esp_system/test/test_task_wdt.c +++ b/components/esp_system/test/test_task_wdt.c @@ -23,6 +23,7 @@ void esp_task_wdt_isr_user_handler(void) timeout_flag = true; } +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) TEST_CASE("Task WDT task timeout", "[task_wdt]") { timeout_flag = false; @@ -93,6 +94,7 @@ TEST_CASE("Task WDT can be reconfigured", "[task_wdt]") TEST_ASSERT_EQUAL(ESP_OK, esp_task_wdt_delete(NULL)); TEST_ASSERT_EQUAL(ESP_OK, esp_task_wdt_deinit()); } +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) TEST_CASE("Task WDT task feed", "[task_wdt]") { @@ -113,6 +115,7 @@ TEST_CASE("Task WDT task feed", "[task_wdt]") TEST_ASSERT_EQUAL(ESP_OK, esp_task_wdt_deinit()); } +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) TEST_CASE("Task WDT user timeout", "[task_wdt]") { const char *user_name = "test_user"; @@ -131,6 +134,7 @@ TEST_CASE("Task WDT user timeout", "[task_wdt]") TEST_ASSERT_EQUAL(ESP_OK, esp_task_wdt_delete_user(user_handle)); TEST_ASSERT_EQUAL(ESP_OK, esp_task_wdt_deinit()); } +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) TEST_CASE("Task WDT user feed", "[task_wdt]") { diff --git a/components/freertos/test_apps/freertos/pytest_freertos.py b/components/freertos/test_apps/freertos/pytest_freertos.py index 7298a48f7a..a2e62c0049 100644 --- a/components/freertos/test_apps/freertos/pytest_freertos.py +++ b/components/freertos/test_apps/freertos/pytest_freertos.py @@ -5,12 +5,12 @@ import pytest from pytest_embedded import Dut CONFIGS = [ - pytest.param('default', marks=[pytest.mark.supported_targets]), - pytest.param('freertos_options', marks=[pytest.mark.supported_targets]), + pytest.param('default', marks=[pytest.mark.supported_targets, pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='test failed')]), + pytest.param('freertos_options', marks=[pytest.mark.supported_targets, pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='test failed')]), pytest.param('psram', marks=[pytest.mark.esp32]), pytest.param('release', marks=[pytest.mark.supported_targets]), pytest.param('single_core', marks=[pytest.mark.esp32]), - pytest.param('smp', marks=[pytest.mark.supported_targets]), + pytest.param('smp', marks=[pytest.mark.supported_targets, pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='test failed')]), ] diff --git a/components/hal/test/test_mpu.c b/components/hal/test/test_mpu.c index 38a7c2c4d1..21d87e6b23 100644 --- a/components/hal/test/test_mpu.c +++ b/components/hal/test/test_mpu.c @@ -10,7 +10,7 @@ // LL still not implemented #if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C3) -#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2, ESP32C6) //IDF-5058 volatile static int RTC_NOINIT_ATTR access = 0; @@ -49,5 +49,5 @@ TEST_CASE_MULTIPLE_STAGES("Can set illegal access regions", "[soc][mpu]", trigger_illegal_access, check_access); -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(...) #endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C3) diff --git a/components/heap/.build-test-rules.yml b/components/heap/.build-test-rules.yml new file mode 100644 index 0000000000..5d7183fedc --- /dev/null +++ b/components/heap/.build-test-rules.yml @@ -0,0 +1,7 @@ +# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps + +components/heap/test_apps: + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet diff --git a/components/heap/test_apps/pytest_heap.py b/components/heap/test_apps/pytest_heap.py index 377e595c43..5fb5b1ae85 100644 --- a/components/heap/test_apps/pytest_heap.py +++ b/components/heap/test_apps/pytest_heap.py @@ -7,6 +7,7 @@ from pytest_embedded import Dut @pytest.mark.generic @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='test failed') @pytest.mark.parametrize( 'config', [ diff --git a/components/mbedtls/.build-test-rules.yml b/components/mbedtls/.build-test-rules.yml new file mode 100644 index 0000000000..06af0d1c0a --- /dev/null +++ b/components/mbedtls/.build-test-rules.yml @@ -0,0 +1,7 @@ +# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps + +components/mbedtls/test_apps: + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet diff --git a/components/mbedtls/test_apps/pytest_mbedtls_ut.py b/components/mbedtls/test_apps/pytest_mbedtls_ut.py index 43dd24d909..9963fa9aad 100644 --- a/components/mbedtls/test_apps/pytest_mbedtls_ut.py +++ b/components/mbedtls/test_apps/pytest_mbedtls_ut.py @@ -6,6 +6,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='test failed') @pytest.mark.generic def test_mbedtls(dut: Dut) -> None: dut.expect_exact('Press ENTER to see the list of tests') diff --git a/components/newlib/test/test_newlib.c b/components/newlib/test/test_newlib.c index 4651e41a42..715ee0373c 100644 --- a/components/newlib/test/test_newlib.c +++ b/components/newlib/test/test_newlib.c @@ -122,6 +122,7 @@ TEST_CASE("test asctime", "[newlib]") TEST_ASSERT_EQUAL_STRING(buf, time_str); } +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) static bool fn_in_rom(void *fn) { const int fnaddr = (int)fn; @@ -157,6 +158,7 @@ TEST_CASE("check if ROM or Flash is used for functions", "[newlib]") TEST_ASSERT_FALSE(fn_in_rom(strtol)); #endif // defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_SPIRAM) } +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) #ifndef CONFIG_NEWLIB_NANO_FORMAT TEST_CASE("test 64bit int formats", "[newlib]") diff --git a/components/sdmmc/test/test_sd.c b/components/sdmmc/test/test_sd.c index af990a8bee..c63701726f 100644 --- a/components/sdmmc/test/test_sd.c +++ b/components/sdmmc/test/test_sd.c @@ -31,8 +31,8 @@ // Currently no runners for S3 #define WITH_SD_TEST (SOC_SDMMC_HOST_SUPPORTED && !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S3)) -// Currently, no runners for S3 and C2 -#define WITH_SDSPI_TEST (!TEMPORARY_DISABLED_FOR_TARGETS(ESP32S3, ESP32C2)) +// Currently, no runners for S3, C2, and C6 +#define WITH_SDSPI_TEST (!TEMPORARY_DISABLED_FOR_TARGETS(ESP32S3, ESP32C2, ESP32C6)) // Can't test eMMC (slot 0) and PSRAM together #define WITH_EMMC_TEST (SOC_SDMMC_HOST_SUPPORTED && !CONFIG_SPIRAM && !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S3)) diff --git a/components/spi_flash/test/test_cache_disabled.c b/components/spi_flash/test/test_cache_disabled.c index 086faa672d..0739de1341 100644 --- a/components/spi_flash/test/test_cache_disabled.c +++ b/components/spi_flash/test/test_cache_disabled.c @@ -19,6 +19,7 @@ #include "esp_private/cache_utils.h" +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) static QueueHandle_t result_queue; static IRAM_ATTR void cache_test_task(void *arg) @@ -106,3 +107,4 @@ TEST_CASE("invalid access to cache raises panic (APP CPU)", "[spi_flash][reset=" #endif // !CONFIG_FREERTOS_UNICORE #endif // !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2) +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) diff --git a/components/spi_flash/test/test_read_write.c b/components/spi_flash/test/test_read_write.c index 9412b25342..8f7ca910c2 100644 --- a/components/spi_flash/test/test_read_write.c +++ b/components/spi_flash/test/test_read_write.c @@ -144,6 +144,7 @@ TEST_CASE("Test spi_flash_read", "[spi_flash][esp_flash]") extern void spi_common_set_dummy_output(esp_rom_spiflash_read_mode_t mode); extern void spi_dummy_len_fix(uint8_t spi, uint8_t freqdiv); +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) static void IRAM_ATTR fix_rom_func(void) { uint32_t freqdiv = 0; @@ -304,6 +305,7 @@ TEST_CASE("Test esp_flash_write", "[spi_flash][esp_flash]") ESP_ERROR_CHECK(esp_flash_write(NULL, (char *) 0x40080000, start, 16)); #endif } +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) #ifdef CONFIG_SPIRAM diff --git a/components/wpa_supplicant/test/test_crypto.c b/components/wpa_supplicant/test/test_crypto.c index f67224871a..6f4c78bb7f 100644 --- a/components/wpa_supplicant/test/test_crypto.c +++ b/components/wpa_supplicant/test/test_crypto.c @@ -317,6 +317,7 @@ TEST_CASE("Test crypto lib bignum apis", "[wpa_crypto]") #endif /* bits in mbedtls_mpi_uint */ +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) /* * Create an MPI from embedded constants * (assumes len is an exact multiple of sizeof mbedtls_mpi_uint) @@ -540,4 +541,5 @@ TEST_CASE("Test crypto lib ECC apis", "[wpa_crypto]") } } +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C6) #endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) diff --git a/examples/peripherals/.build-test-rules.yml b/examples/peripherals/.build-test-rules.yml index f5af80c04a..9fe567931f 100644 --- a/examples/peripherals/.build-test-rules.yml +++ b/examples/peripherals/.build-test-rules.yml @@ -43,6 +43,10 @@ examples/peripherals/i2s/i2s_adc_dac: examples/peripherals/i2s/i2s_basic/i2s_pdm: disable: - if: SOC_I2S_SUPPORTS_PDM != 1 + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet examples/peripherals/i2s/i2s_basic/i2s_std: disable: @@ -149,6 +153,10 @@ examples/peripherals/rmt/onewire_ds18b20: examples/peripherals/rmt/stepper_motor: disable: - if: SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP != 1 + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet examples/peripherals/sdio/host: enable: @@ -197,6 +205,12 @@ examples/peripherals/timer_group/gptimer_capture_hc_sr04: disable: - if: SOC_TIMER_SUPPORT_ETM != 1 +examples/peripherals/timer_group/legacy_driver: + disable_test: + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet + examples/peripherals/touch_sensor: disable: - if: SOC_TOUCH_SENSOR_SUPPORTED != 1 diff --git a/examples/peripherals/i2s/i2s_basic/i2s_pdm/pytest_i2s_pdm.py b/examples/peripherals/i2s/i2s_basic/i2s_pdm/pytest_i2s_pdm.py index c461d5fea6..c31210811f 100644 --- a/examples/peripherals/i2s/i2s_basic/i2s_pdm/pytest_i2s_pdm.py +++ b/examples/peripherals/i2s/i2s_basic/i2s_pdm/pytest_i2s_pdm.py @@ -8,7 +8,6 @@ from pytest_embedded import Dut @pytest.mark.esp32 @pytest.mark.esp32s3 @pytest.mark.esp32c3 -@pytest.mark.esp32c6 @pytest.mark.generic @pytest.mark.parametrize( 'config', diff --git a/examples/peripherals/rmt/stepper_motor/pytest_stepper_motor.py b/examples/peripherals/rmt/stepper_motor/pytest_stepper_motor.py index 851563a3e2..1fceeb0cf2 100644 --- a/examples/peripherals/rmt/stepper_motor/pytest_stepper_motor.py +++ b/examples/peripherals/rmt/stepper_motor/pytest_stepper_motor.py @@ -6,9 +6,8 @@ from pytest_embedded import Dut @pytest.mark.esp32s3 -@pytest.mark.esp32c6 @pytest.mark.generic -def test_ir_nec_example(dut: Dut) -> None: +def test_stepper_motor_example(dut: Dut) -> None: dut.expect_exact('example: Initialize EN + DIR GPIO') dut.expect_exact('example: Create RMT TX channel') dut.expect_exact('example: Set spin direction') diff --git a/examples/peripherals/timer_group/legacy_driver/pytest_timer_group.py b/examples/peripherals/timer_group/legacy_driver/pytest_timer_group.py index 058638029d..7caa9adf39 100644 --- a/examples/peripherals/timer_group/legacy_driver/pytest_timer_group.py +++ b/examples/peripherals/timer_group/legacy_driver/pytest_timer_group.py @@ -6,6 +6,7 @@ from pytest_embedded import Dut @pytest.mark.supported_targets +@pytest.mark.temp_skip_ci(targets=['esp32c6'], reason='test failed') @pytest.mark.generic def test_timer_group_example(dut: Dut) -> None: dut.expect(r'Init timer with auto-reload', timeout=5) diff --git a/examples/system/.build-test-rules.yml b/examples/system/.build-test-rules.yml index 69f3404c23..60ade03470 100644 --- a/examples/system/.build-test-rules.yml +++ b/examples/system/.build-test-rules.yml @@ -160,6 +160,9 @@ examples/system/select: - if: IDF_TARGET in ["esp32s2", "esp32s3"] temporary: true reason: lack of runners + - if: IDF_TARGET == "esp32c6" + temporary: true + reason: target esp32c6 is not supported yet examples/system/sysview_tracing: disable_test: diff --git a/examples/system/select/pytest_select.py b/examples/system/select/pytest_select.py index c5b2255a5e..c09a176db1 100644 --- a/examples/system/select/pytest_select.py +++ b/examples/system/select/pytest_select.py @@ -22,7 +22,6 @@ def get_uart_msgs(i: int) -> List[str]: @pytest.mark.esp32 @pytest.mark.esp32c3 -@pytest.mark.esp32c6 @pytest.mark.generic def test_examples_select(dut: Dut) -> None: diff --git a/tools/unit-test-app/components/test_utils/test/ccomp_timer_test_data.c b/tools/unit-test-app/components/test_utils/test/ccomp_timer_test_data.c index ad5a32aa34..0014f48d4e 100644 --- a/tools/unit-test-app/components/test_utils/test/ccomp_timer_test_data.c +++ b/tools/unit-test-app/components/test_utils/test/ccomp_timer_test_data.c @@ -48,7 +48,7 @@ typedef struct { /* No performance monitor in RISCV for now */ #if !DISABLED_FOR_TARGETS(ESP32C3) -#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2, ESP32C6) //IDF-5052 static const char* TAG = "test_ccomp_timer"; @@ -178,5 +178,5 @@ TEST_CASE("data cache hit rate sweep", "[test_utils][ccomp_timer]") free(flash_mem); #endif } -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) +#endif //!TEMPORARY_DISABLED_FOR_TARGETS(...) #endif // !DISABLED_FOR_TARGETS(ESP32C3) diff --git a/tools/unit-test-app/unit_test.py b/tools/unit-test-app/unit_test.py index e1f2e8a5d7..331fdf20d2 100755 --- a/tools/unit-test-app/unit_test.py +++ b/tools/unit-test-app/unit_test.py @@ -49,6 +49,7 @@ def reset_reason_matches(reported_str, expected_str): '_RESET': '_RST', 'POWERON_RESET': 'POWERON', 'DEEPSLEEP_RESET': 'DSLEEP', + 'SW_CPU_RESET': 'SW_CPU', } if expected_str in reported_str: