From 01fd87bd05df9a43f1980a553aab485696f468c8 Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Thu, 6 Apr 2023 11:01:20 +0800 Subject: [PATCH 1/7] ci: remove ttfw related info in tools/test_apps --- .gitlab/ci/assign-test.yml | 30 ---------- .gitlab/ci/rules.yml | 38 ------------- .gitlab/ci/target-test.yml | 57 ------------------- tools/test_apps/README.md | 52 +---------------- .../publish_connect_mqtt_.yml | 2 - .../publish_connect_mqtt_qemu.yml | 6 -- .../test_apps/security/secure_boot/README.md | 23 ++++---- 7 files changed, 14 insertions(+), 194 deletions(-) delete mode 100644 tools/test_apps/protocols/mqtt/publish_connect_test/publish_connect_mqtt_.yml delete mode 100644 tools/test_apps/protocols/mqtt/publish_connect_test/publish_connect_mqtt_qemu.yml diff --git a/.gitlab/ci/assign-test.yml b/.gitlab/ci/assign-test.yml index 3da76262d2..d470655708 100644 --- a/.gitlab/ci/assign-test.yml +++ b/.gitlab/ci/assign-test.yml @@ -44,36 +44,6 @@ assign_example_test: TEST_TYPE: example_test TEST_DIR: examples -assign_custom_test: - extends: - - .assign_test_template - - .rules:build:custom_test - needs: - - job: build_test_apps_esp32 - artifacts: false - optional: true - - job: build_test_apps_esp32s2 - artifacts: false - optional: true - - job: build_test_apps_esp32c2 - artifacts: false - optional: true - - job: build_test_apps_esp32c3 - artifacts: false - optional: true - - job: build_test_apps_esp32c6 - artifacts: false - optional: true - - job: build_test_apps_esp32h2 - artifacts: false - optional: true - - job: build_test_apps_esp32s3 - artifacts: false - optional: true - variables: - TEST_TYPE: custom_test - TEST_DIR: tools/test_apps - assign_unit_test: extends: - .assign_test_template diff --git a/.gitlab/ci/rules.yml b/.gitlab/ci/rules.yml index 534bb91a00..e4021f1efb 100644 --- a/.gitlab/ci/rules.yml +++ b/.gitlab/ci/rules.yml @@ -867,38 +867,6 @@ - <<: *if-dev-push changes: *patterns-target_test-wifi -.rules:build:custom_test: - rules: - - <<: *if-revert-branch - when: never - - <<: *if-protected - - <<: *if-label-build - - <<: *if-label-custom_test - - <<: *if-label-custom_test_esp32 - - <<: *if-label-custom_test_esp32c2 - - <<: *if-label-custom_test_esp32c3 - - <<: *if-label-custom_test_esp32c6 - - <<: *if-label-custom_test_esp32h2 - - <<: *if-label-custom_test_esp32h4 - - <<: *if-label-custom_test_esp32s2 - - <<: *if-label-custom_test_esp32s3 - - <<: *if-label-target_test - - <<: *if-label-weekend_test - - <<: *if-dev-push - changes: *patterns-build_components - - <<: *if-dev-push - changes: *patterns-build_system - - <<: *if-dev-push - changes: *patterns-custom_test - - <<: *if-dev-push - changes: *patterns-downloadable-tools - - <<: *if-dev-push - changes: *patterns-target_test-adc - - <<: *if-dev-push - changes: *patterns-target_test-i154 - - <<: *if-dev-push - changes: *patterns-target_test-wifi - .rules:build:custom_test-esp32: rules: - <<: *if-revert-branch @@ -1847,12 +1815,6 @@ when: never - <<: *if-label-nvs_coverage -.rules:labels:weekend_test: - rules: - - <<: *if-revert-branch - when: never - - <<: *if-label-weekend_test - .rules:test:component_ut-esp32: rules: - <<: *if-revert-branch diff --git a/.gitlab/ci/target-test.yml b/.gitlab/ci/target-test.yml index ff4fbf86dc..fecebf84e4 100644 --- a/.gitlab/ci/target-test.yml +++ b/.gitlab/ci/target-test.yml @@ -1074,19 +1074,6 @@ test_app_test_pytest_esp32s3_mspi_f4r4: TEST_CASE_PATH: "$CI_PROJECT_DIR/examples" CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/examples/test_configs" -test_weekend_mqtt: - extends: - - .test_app_esp32_template - - .rules:labels:weekend_test - tags: - - ESP32 - - ethernet_router - script: - - export MQTT_PUBLISH_TEST=1 - - export TEST_PATH=$CI_PROJECT_DIR/tools/test_apps/protocols/mqtt/publish_connect_test - - cd $IDF_PATH/tools/ci/python_packages/tiny_test_fw/bin - - run_cmd python Runner.py $TEST_PATH -c $TEST_PATH/publish_connect_mqtt_.yml - .example_test_esp32_template: extends: - .example_test_template @@ -1192,50 +1179,6 @@ example_test_H2_GENERIC: - ESP32H2 - Example_GENERIC -.test_app_template: - extends: .target_test_job_template - needs: - - assign_custom_test - variables: - GIT_DEPTH: 1 - TEST_CASE_PATH: "$CI_PROJECT_DIR/tools/test_apps" - CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/tools/test_apps/test_configs" - -.test_app_esp32_template: - extends: - - .test_app_template - - .rules:test:custom_test-esp32 - -.test_app_esp32s2_template: - extends: - - .test_app_template - - .rules:test:custom_test-esp32s2 - -.test_app_esp32c2_template: - extends: - - .test_app_template - - .rules:test:custom_test-esp32c2 - -.test_app_esp32c3_template: - extends: - - .test_app_template - - .rules:test:custom_test-esp32c3 - -.test_app_esp32c6_template: - extends: - - .test_app_template - - .rules:test:custom_test-esp32c6 - -.test_app_esp32h2_template: - extends: - - .test_app_template - - .rules:test:custom_test-esp32h2 - -.test_app_esp32s3_template: - extends: - - .test_app_template - - .rules:test:custom_test-esp32s3 - .unit_test_template: extends: .target_test_job_template needs: # the assign already needs all the build jobs diff --git a/tools/test_apps/README.md b/tools/test_apps/README.md index 0fbe6be84b..40e7698a1f 100644 --- a/tools/test_apps/README.md +++ b/tools/test_apps/README.md @@ -12,9 +12,7 @@ Test applications are treated the same way as ESP-IDF examples, so each project - Build recipe in cmake and the main component with app sources - Configuration files, `sdkconfig.ci` and similar (see below) -- Test executor in `ttfw_idf` format if the project is intended to also run tests (otherwise the example is build only) - - test file in the project dir must end with `_test.py`, by should be named `app_test.py` - - test cases shall be decorated with `@ttfw_idf.idf_custom_test(env_tag="...")` +- Python test scripts, `pytest_....py` (optional) ## Test Apps layout @@ -39,52 +37,6 @@ The CI system expects to see at least a "default" config, so add `sdkconfig.ci` - By default, every CI configurations is built for every target SoC (an `m * n` configuration matrix). However if any `sdkconfig.ci.*` file contains a line of the form `CONFIG_IDF_TARGET="targetname"` then that CI config is only built for that one target. This only works in `sdkconfig.ci.CONFIG`, not in the default `sdkconfig.ci`. - Each configuration is also built with the contents of any `sdkconfig.defaults` file or a file named `sdkconfig.defaults.` appended. (Same as a normal ESP-IDF project build.) -### Test Execution - -If an example test or test app test supports more targets than just `ESP32`, then the `app_test.py` file needs to specify the list of supported targets in the test decorator. For example: - -```python -@ttfw_idf.idf_example_test(env_tag='Example_GENERIC', target=['esp32', 'esp32s2']) -def test_app_xyz(env, extra_data): -``` - -If the app test supports multiple targets but you only want some of these targets to be run automatically in CI, the list can be further filtered down by adding the `ci_target` list: - -```python -@ttfw_idf.idf_example_test(env_tag='Example_GENERIC', target=['esp32', 'esp32s2'], ci_target=['esp32']) -def test_app_xyz(env, extra_data): -``` - -(If no ci_target list is specified, all supported targets will be tested in CI.) - -## Test Apps local execution (ttfw) - -All the following instructions are general. Part of them may be complemented by more particular instructions in the corresponding app's README. - -### Requirements - -Install Python dependencies and export the Python path where the IDF CI Python modules are found with the following commands: - -```bash -bash install.sh --enable-ttfw -source export.sh -export PYTHONPATH=$IDF_PATH/tools/ci/python_packages:$PYTHONPATH -``` -You should also set the port via the environment variable `ESPPORT` to prevent the tools from looking and iterating over all serial ports. The latter causes much trouble, currently: - -``` -export ESPPORT=/dev/ttyUSB -``` - -### Execution - -- Create an sdkconfig file from the relevant `sdkconfig.ci.` and `sdkconfig.defaults`: `cat sdkconfig.defaults sdkconfig.ci. > sdkconfig` -- Run `idf.py menuconfig` to configure local project attributes -- Run `idf.py build` to build the test app -- Run `python app_test.py` to run the test locally - -## Test Apps local execution (pytest) +## Test Apps local execution Some of the examples have `pytest_....py` scripts that are using the `pytest` as the test framework. For detailed information, please refer to the "Run the Tests Locally" Section under [ESP-IDF tests in Pytest documentation](../../docs/en/contribute/esp-idf-tests-with-pytest.rst) - -Using `pytest` is the recommended way to write new tests. We will migrate all the test apps scripts to this new framework soon. diff --git a/tools/test_apps/protocols/mqtt/publish_connect_test/publish_connect_mqtt_.yml b/tools/test_apps/protocols/mqtt/publish_connect_test/publish_connect_mqtt_.yml deleted file mode 100644 index 70e13ef44e..0000000000 --- a/tools/test_apps/protocols/mqtt/publish_connect_test/publish_connect_mqtt_.yml +++ /dev/null @@ -1,2 +0,0 @@ -CaseConfig: -- name: test_app_protocol_mqtt_publish_connect diff --git a/tools/test_apps/protocols/mqtt/publish_connect_test/publish_connect_mqtt_qemu.yml b/tools/test_apps/protocols/mqtt/publish_connect_test/publish_connect_mqtt_qemu.yml deleted file mode 100644 index 06f1235238..0000000000 --- a/tools/test_apps/protocols/mqtt/publish_connect_test/publish_connect_mqtt_qemu.yml +++ /dev/null @@ -1,6 +0,0 @@ -CaseConfig: -- name: test_app_protocol_mqtt_publish_connect - overwrite: - dut: - class: ESP32QEMUDUT - package: ttfw_idf diff --git a/tools/test_apps/security/secure_boot/README.md b/tools/test_apps/security/secure_boot/README.md index 2d5c3f025c..70190ea2ff 100644 --- a/tools/test_apps/security/secure_boot/README.md +++ b/tools/test_apps/security/secure_boot/README.md @@ -95,21 +95,22 @@ Under `Security features` - Set UART ROM download mode to ENABLED (Required for the script to read the EFUSE) -- Install and export TTFW requirements -``` -python -m pip install -r $IDF_PATH/tools/ci/python_packages/ttfw_idf/requirements.txt +- Install pytest requirements -export PYTHONPATH="$IDF_PATH/tools:$IDF_PATH/tools/ci/python_packages" -``` + ``` + bash $IDF_PATH/install.sh --enable-pytest + ``` ### Build and test - Build the example -``` -idf.py build -``` + + ``` + idf.py build + ``` - Run the example test -``` -python example_test.py -``` + + ``` + pytest --target esp32c3 + ``` From d036edfe1b5924aaabd56b319bac87617a4e673b Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Thu, 6 Apr 2023 11:08:24 +0800 Subject: [PATCH 2/7] ci: move tools/test_apps build jobs into one --- .gitlab/ci/build.yml | 77 +++++++++----------------------------------- .gitlab/ci/rules.yml | 32 ++++++++++++++++++ 2 files changed, 47 insertions(+), 62 deletions(-) diff --git a/.gitlab/ci/build.yml b/.gitlab/ci/build.yml index aa7ec6a1af..72d43f22dc 100644 --- a/.gitlab/ci/build.yml +++ b/.gitlab/ci/build.yml @@ -310,7 +310,7 @@ build_pytest_components_esp32h2: IDF_TARGET: esp32h2 TEST_DIR: components -build_non_test_components_apps: +build_only_components_apps: extends: - .build_cmake_template - .rules:build:component_ut @@ -405,6 +405,20 @@ build_pytest_test_apps_esp32h2: IDF_TARGET: esp32h2 TEST_DIR: tools/test_apps +build_only_tools_test_apps: + extends: + - .build_cmake_template + - .rules:build:custom_test + parallel: 9 + script: + # CI specific options start from "--collect-size-info xxx". could ignore when running locally + - run_cmd python tools/ci/ci_build_apps.py tools/test_apps -v + -t all + --collect-size-info size_info.txt + --collect-app-info list_job_${CI_NODE_INDEX:-1}.json + --parallel-count ${CI_NODE_TOTAL:-1} + --parallel-index ${CI_NODE_INDEX:-1} + .build_template_app_template: extends: - .build_template @@ -660,67 +674,6 @@ build_examples_cmake_esp32h2: IDF_TARGET: esp32h2 TEST_DIR: examples - -build_test_apps_esp32: - extends: - - .build_cmake_template - - .rules:build:custom_test-esp32 - parallel: 2 - variables: - IDF_TARGET: esp32 - TEST_DIR: tools/test_apps - -build_test_apps_esp32s2: - extends: - - .build_cmake_template - - .rules:build:custom_test-esp32s2 - parallel: 2 - variables: - IDF_TARGET: esp32s2 - TEST_DIR: tools/test_apps - -build_test_apps_esp32s3: - extends: - - .build_cmake_template - - .rules:build:custom_test-esp32s3 - parallel: 2 - variables: - IDF_TARGET: esp32s3 - TEST_DIR: tools/test_apps - -build_test_apps_esp32c3: - extends: - - .build_cmake_template - - .rules:build:custom_test-esp32c3 - parallel: 2 - variables: - IDF_TARGET: esp32c3 - TEST_DIR: tools/test_apps - -build_test_apps_esp32c2: - extends: - - .build_cmake_template - - .rules:build:custom_test-esp32c2 - variables: - IDF_TARGET: esp32c2 - TEST_DIR: tools/test_apps - -build_test_apps_esp32c6: - extends: - - .build_cmake_template - - .rules:build:custom_test-esp32c6 - variables: - IDF_TARGET: esp32c6 - TEST_DIR: tools/test_apps - -build_test_apps_esp32h2: - extends: - - .build_cmake_template - - .rules:build:custom_test-esp32h2 - variables: - IDF_TARGET: esp32h2 - TEST_DIR: tools/test_apps - build_clang_test_apps_esp32: extends: - .build_cmake_clang_template diff --git a/.gitlab/ci/rules.yml b/.gitlab/ci/rules.yml index e4021f1efb..29daa05b8e 100644 --- a/.gitlab/ci/rules.yml +++ b/.gitlab/ci/rules.yml @@ -867,6 +867,38 @@ - <<: *if-dev-push changes: *patterns-target_test-wifi +.rules:build:custom_test: + rules: + - <<: *if-revert-branch + when: never + - <<: *if-protected + - <<: *if-label-build + - <<: *if-label-custom_test + - <<: *if-label-custom_test_esp32 + - <<: *if-label-custom_test_esp32c2 + - <<: *if-label-custom_test_esp32c3 + - <<: *if-label-custom_test_esp32c6 + - <<: *if-label-custom_test_esp32h2 + - <<: *if-label-custom_test_esp32h4 + - <<: *if-label-custom_test_esp32s2 + - <<: *if-label-custom_test_esp32s3 + - <<: *if-label-target_test + - <<: *if-label-weekend_test + - <<: *if-dev-push + changes: *patterns-build_components + - <<: *if-dev-push + changes: *patterns-build_system + - <<: *if-dev-push + changes: *patterns-custom_test + - <<: *if-dev-push + changes: *patterns-downloadable-tools + - <<: *if-dev-push + changes: *patterns-target_test-adc + - <<: *if-dev-push + changes: *patterns-target_test-i154 + - <<: *if-dev-push + changes: *patterns-target_test-wifi + .rules:build:custom_test-esp32: rules: - <<: *if-revert-branch From c8064d0b2ef37995c7a0a74fa73cc627844be2ec Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Thu, 6 Apr 2023 11:10:41 +0800 Subject: [PATCH 3/7] ci: rename target test jobs names --- .gitlab-ci.yml | 4 +- .gitlab/ci/target-test.yml | 234 ++++++++++++++++++------------------- 2 files changed, 119 insertions(+), 119 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e5a782e617..31a8dda4f1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -150,7 +150,7 @@ cache: # target test jobs if [[ "${CI_JOB_STAGE}" == "target_test" ]]; then # ttfw jobs - if ! echo "${CI_JOB_NAME}" | egrep ".+_pytest_.+"; then + if ! echo "${CI_JOB_NAME}" | egrep ".*pytest.*"; then run_cmd bash install.sh --enable-ci --enable-ttfw else run_cmd bash install.sh --enable-ci --enable-pytest @@ -160,7 +160,7 @@ cache: elif [[ "${CI_JOB_STAGE}" == "build" ]]; then run_cmd bash install.sh --enable-ci --enable-pytest else - if ! echo "${CI_JOB_NAME}" | egrep ".+_pytest_.+"; then + if ! echo "${CI_JOB_NAME}" | egrep ".*pytest.*"; then run_cmd bash install.sh --enable-ci else run_cmd bash install.sh --enable-ci --enable-pytest diff --git a/.gitlab/ci/target-test.yml b/.gitlab/ci/target-test.yml index fecebf84e4..e99088bcfb 100644 --- a/.gitlab/ci/target-test.yml +++ b/.gitlab/ci/target-test.yml @@ -45,7 +45,7 @@ variables: TEST_DIR: examples -example_test_pytest_esp32_generic: +pytest_examples_esp32_generic: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -54,7 +54,7 @@ example_test_pytest_esp32_generic: tags: [ esp32, generic ] parallel: 3 -example_test_pytest_esp32_esp32eco3: +pytest_examples_esp32_esp32eco3: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -62,7 +62,7 @@ example_test_pytest_esp32_esp32eco3: - build_pytest_examples_esp32 tags: [ esp32, esp32eco3 ] -example_test_pytest_esp32_ir_transceiver: +pytest_examples_esp32_ir_transceiver: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -70,7 +70,7 @@ example_test_pytest_esp32_ir_transceiver: - build_pytest_examples_esp32 tags: [ esp32, ir_transceiver ] -example_test_pytest_esp32_twai_transceiver: +pytest_examples_esp32_twai_transceiver: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -78,7 +78,7 @@ example_test_pytest_esp32_twai_transceiver: - build_pytest_examples_esp32 tags: [ esp32, twai_transceiver ] -example_test_pytest_esp32_twai_network: +pytest_examples_esp32_twai_network: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -86,7 +86,7 @@ example_test_pytest_esp32_twai_network: - build_pytest_examples_esp32 tags: [ esp32, twai_network ] -example_test_pytest_esp32_jtag: +pytest_examples_esp32_jtag: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -97,7 +97,7 @@ example_test_pytest_esp32_jtag: SETUP_TOOLS: "1" # need gdb openocd PYTEST_EXTRA_FLAGS: "--log-cli-level DEBUG" -example_test_pytest_esp32s2_generic: +pytest_examples_esp32s2_generic: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s2 @@ -106,7 +106,7 @@ example_test_pytest_esp32s2_generic: tags: [ esp32s2, generic ] parallel: 3 -example_test_pytest_esp32s2_jtag: +pytest_examples_esp32s2_jtag: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s2 @@ -117,7 +117,7 @@ example_test_pytest_esp32s2_jtag: SETUP_TOOLS: "1" # need gdb openocd PYTEST_EXTRA_FLAGS: "--log-cli-level DEBUG" -example_test_pytest_esp32s3_generic: +pytest_examples_esp32s3_generic: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s3 @@ -126,7 +126,7 @@ example_test_pytest_esp32s3_generic: tags: [ esp32s3, generic ] parallel: 3 -example_test_pytest_esp32s3_usb_serial_jtag: +pytest_examples_esp32s3_usb_serial_jtag: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s3 @@ -137,7 +137,7 @@ example_test_pytest_esp32s3_usb_serial_jtag: SETUP_TOOLS: "1" # need gdb openocd PYTEST_EXTRA_FLAGS: "--log-cli-level DEBUG" -example_test_pytest_esp32s3_f4r8: +pytest_examples_esp32s3_f4r8: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s3 @@ -145,7 +145,7 @@ example_test_pytest_esp32s3_f4r8: - build_pytest_examples_esp32s3 tags: [ esp32s3, MSPI_F4R8 ] -example_test_pytest_esp32c2_generic: +pytest_examples_esp32c2_generic: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c2 @@ -154,7 +154,7 @@ example_test_pytest_esp32c2_generic: tags: [ esp32c2, generic, xtal_40mhz ] parallel: 3 -example_test_pytest_esp32c2_jtag: +pytest_examples_esp32c2_jtag: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c2 @@ -165,7 +165,7 @@ example_test_pytest_esp32c2_jtag: SETUP_TOOLS: "1" # need gdb openocd PYTEST_EXTRA_FLAGS: "--log-cli-level DEBUG" -example_test_pytest_esp32c3_generic: +pytest_examples_esp32c3_generic: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c3 @@ -174,7 +174,7 @@ example_test_pytest_esp32c3_generic: tags: [ esp32c3, generic ] parallel: 3 -example_test_pytest_esp32c3_usb_serial_jtag: +pytest_examples_esp32c3_usb_serial_jtag: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c3 @@ -185,7 +185,7 @@ example_test_pytest_esp32c3_usb_serial_jtag: SETUP_TOOLS: "1" # need gdb openocd PYTEST_EXTRA_FLAGS: "--log-cli-level DEBUG" -example_test_pytest_esp32c3_flash_suspend: +pytest_examples_esp32c3_flash_suspend: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c3 @@ -193,7 +193,7 @@ example_test_pytest_esp32c3_flash_suspend: - build_pytest_examples_esp32c3 tags: [ esp32c3, flash_suspend ] -example_test_pytest_esp32c6_generic: +pytest_examples_esp32c6_generic: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c6 @@ -201,7 +201,7 @@ example_test_pytest_esp32c6_generic: - build_pytest_examples_esp32c6 tags: [ esp32c6, generic ] -example_test_pytest_esp32h2_generic: +pytest_examples_esp32h2_generic: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32h2 @@ -209,7 +209,7 @@ example_test_pytest_esp32h2_generic: - build_pytest_examples_esp32h2 tags: [ esp32h2, generic ] -example_test_pytest_esp32_ethernet_ota: +pytest_examples_esp32_ethernet_ota: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-ethernet @@ -217,7 +217,7 @@ example_test_pytest_esp32_ethernet_ota: - build_pytest_examples_esp32 tags: [ esp32, ethernet_ota ] -example_test_pytest_esp32_wifi_high_traffic: +pytest_examples_esp32_wifi_high_traffic: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-wifi @@ -225,7 +225,7 @@ example_test_pytest_esp32_wifi_high_traffic: - build_pytest_examples_esp32 tags: [ esp32, wifi_high_traffic ] -example_test_pytest_esp32_flash_encryption_wifi_high_traffic: +pytest_examples_esp32_flash_encryption_wifi_high_traffic: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-include_nightly_run-rule @@ -233,7 +233,7 @@ example_test_pytest_esp32_flash_encryption_wifi_high_traffic: - build_pytest_examples_esp32 tags: [ esp32, flash_encryption_wifi_high_traffic ] -example_test_pytest_esp32c3_flash_encryption_wifi_high_traffic: +pytest_examples_esp32c3_flash_encryption_wifi_high_traffic: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c3-include_nightly_run-rule @@ -241,7 +241,7 @@ example_test_pytest_esp32c3_flash_encryption_wifi_high_traffic: - build_pytest_examples_esp32c3 tags: [ esp32c3, flash_encryption_wifi_high_traffic ] -example_test_pytest_esp32_ethernet: +pytest_examples_esp32_ethernet: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-ethernet @@ -249,7 +249,7 @@ example_test_pytest_esp32_ethernet: - build_pytest_examples_esp32 tags: [ esp32, ethernet] -example_test_pytest_esp32_8mb_flash: +pytest_examples_esp32_8mb_flash: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -257,7 +257,7 @@ example_test_pytest_esp32_8mb_flash: - build_pytest_examples_esp32 tags: [ esp32, ethernet_flash_8m ] -example_test_pytest_esp32_wifi_ap: +pytest_examples_esp32_wifi_ap: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-wifi @@ -265,7 +265,7 @@ example_test_pytest_esp32_wifi_ap: - build_pytest_examples_esp32 tags: [ esp32, wifi_ap ] -example_test_pytest_esp32c3_wifi_ap: +pytest_examples_esp32c3_wifi_ap: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c3-wifi @@ -273,7 +273,7 @@ example_test_pytest_esp32c3_wifi_ap: - build_pytest_examples_esp32c3 tags: [ esp32c3, wifi_ap ] -example_test_pytest_esp32s3_wifi_ap: +pytest_examples_esp32s3_wifi_ap: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s3-wifi @@ -281,7 +281,7 @@ example_test_pytest_esp32s3_wifi_ap: - build_pytest_examples_esp32s3 tags: [ esp32s3, wifi_ap ] -example_test_pytest_esp32_wifi_router: +pytest_examples_esp32_wifi_router: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-wifi @@ -289,7 +289,7 @@ example_test_pytest_esp32_wifi_router: - build_pytest_examples_esp32 tags: [ esp32, wifi_router ] -example_test_pytest_esp32c3_wifi_router: +pytest_examples_esp32c3_wifi_router: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c3-wifi @@ -297,14 +297,14 @@ example_test_pytest_esp32c3_wifi_router: - build_pytest_examples_esp32c3 tags: [ esp32c3, wifi_router ] -example_test_pytest_esp32s3_wifi_router: +pytest_examples_esp32s3_wifi_router: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s3-wifi needs: - build_pytest_examples_esp32s3 tags: [ esp32s3, wifi_router ] -example_test_pytest_esp32_wifi_iperf: +pytest_examples_esp32_wifi_iperf: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-wifi @@ -312,7 +312,7 @@ example_test_pytest_esp32_wifi_iperf: - build_pytest_examples_esp32 tags: [ esp32, Example_ShieldBox_Basic ] -example_test_pytest_esp32_wifi_wlan: +pytest_examples_esp32_wifi_wlan: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-wifi @@ -320,7 +320,7 @@ example_test_pytest_esp32_wifi_wlan: - build_pytest_examples_esp32 tags: [ esp32, wifi_wlan ] -example_test_pytest_esp32_ethernet_router: +pytest_examples_esp32_ethernet_router: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-ethernet @@ -328,7 +328,7 @@ example_test_pytest_esp32_ethernet_router: - build_pytest_examples_esp32 tags: [ esp32, ethernet_router ] -example_test_pytest_esp32_ethernet_ip101: +pytest_examples_esp32_ethernet_ip101: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -336,7 +336,7 @@ example_test_pytest_esp32_ethernet_ip101: - build_pytest_examples_esp32 tags: [ esp32, ip101 ] -example_test_pytest_esp32_flash_encryption: +pytest_examples_esp32_flash_encryption: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -344,7 +344,7 @@ example_test_pytest_esp32_flash_encryption: - build_pytest_examples_esp32 tags: [ esp32, flash_encryption ] -example_test_pytest_esp32_wifi_two_dut: +pytest_examples_esp32_wifi_two_dut: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-wifi @@ -352,7 +352,7 @@ example_test_pytest_esp32_wifi_two_dut: - build_pytest_examples_esp32 tags: [ esp32, wifi_two_dut ] -example_test_pytest_esp32c3_wifi_two_dut: +pytest_examples_esp32c3_wifi_two_dut: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c3-wifi @@ -360,7 +360,7 @@ example_test_pytest_esp32c3_wifi_two_dut: - build_pytest_examples_esp32c3 tags: [ esp32c3, wifi_two_dut ] -example_test_pytest_esp32s3_wifi_two_dut: +pytest_examples_esp32s3_wifi_two_dut: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s3-wifi @@ -368,7 +368,7 @@ example_test_pytest_esp32s3_wifi_two_dut: - build_pytest_examples_esp32s3 tags: [ esp32s3, wifi_two_dut ] -example_test_pytest_esp32c2_wifi_two_dut: +pytest_examples_esp32c2_wifi_two_dut: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c2-wifi @@ -376,7 +376,7 @@ example_test_pytest_esp32c2_wifi_two_dut: - build_pytest_examples_esp32c2 tags: [ esp32c2, wifi_two_dut, xtal_26mhz ] -example_test_pytest_esp32c3_flash_encryption: +pytest_examples_esp32c3_flash_encryption: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c3 @@ -384,7 +384,7 @@ example_test_pytest_esp32c3_flash_encryption: - build_pytest_examples_esp32c3 tags: [ esp32c3, flash_encryption ] -example_test_pytest_esp32s2_usb_device: +pytest_examples_esp32s2_usb_device: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s2-usb @@ -392,7 +392,7 @@ example_test_pytest_esp32s2_usb_device: - build_pytest_examples_esp32s2 tags: [ esp32s2, usb_device ] -example_test_pytest_esp32_sdmmc: +pytest_examples_esp32_sdmmc: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -400,7 +400,7 @@ example_test_pytest_esp32_sdmmc: - build_pytest_examples_esp32 tags: [ esp32, sdcard_sdmode ] -example_test_pytest_esp32_sdspi: +pytest_examples_esp32_sdspi: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-sdio @@ -408,7 +408,7 @@ example_test_pytest_esp32_sdspi: - build_pytest_examples_esp32 tags: [ esp32, sdcard_spimode ] -example_test_pytest_esp32s2_sdspi: +pytest_examples_esp32s2_sdspi: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s2-sdio @@ -416,7 +416,7 @@ example_test_pytest_esp32s2_sdspi: - build_pytest_examples_esp32s2 tags: [ esp32s2, sdcard_spimode ] -example_test_pytest_esp32c3_sdspi: +pytest_examples_esp32c3_sdspi: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c3-sdio @@ -424,7 +424,7 @@ example_test_pytest_esp32c3_sdspi: - build_pytest_examples_esp32c3 tags: [ esp32c3, sdcard_spimode ] -example_test_pytest_esp32_extflash: +pytest_examples_esp32_extflash: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32 @@ -432,7 +432,7 @@ example_test_pytest_esp32_extflash: - build_pytest_examples_esp32 tags: [ esp32, external_flash ] -example_test_pytest_esp32_adc: +pytest_examples_esp32_adc: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32-adc @@ -440,7 +440,7 @@ example_test_pytest_esp32_adc: - build_pytest_examples_esp32 tags: [ esp32, adc ] -example_test_pytest_esp32s2_adc: +pytest_examples_esp32s2_adc: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s2-adc @@ -448,7 +448,7 @@ example_test_pytest_esp32s2_adc: - build_pytest_examples_esp32s2 tags: [ esp32s2, adc ] -example_test_pytest_esp32s3_adc: +pytest_examples_esp32s3_adc: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32s3-adc @@ -456,7 +456,7 @@ example_test_pytest_esp32s3_adc: - build_pytest_examples_esp32s3 tags: [ esp32s3, adc ] -example_test_pytest_esp32c3_adc: +pytest_examples_esp32c3_adc: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c3-adc @@ -464,7 +464,7 @@ example_test_pytest_esp32c3_adc: - build_pytest_examples_esp32c3 tags: [ esp32c3, adc ] -example_test_pytest_esp32c2_adc: +pytest_examples_esp32c2_adc: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c2-adc @@ -472,7 +472,7 @@ example_test_pytest_esp32c2_adc: - build_pytest_examples_esp32c2 tags: [ esp32c2, adc, xtal_26mhz] -example_test_pytest_esp32c6_adc: +pytest_examples_esp32c6_adc: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32c6-adc @@ -480,7 +480,7 @@ example_test_pytest_esp32c6_adc: - build_pytest_examples_esp32c6 tags: [ esp32c6, adc ] -example_test_pytest_esp32h2_adc: +pytest_examples_esp32h2_adc: extends: - .pytest_examples_dir_template - .rules:test:example_test-esp32h2-adc @@ -493,7 +493,7 @@ example_test_pytest_esp32h2_adc: variables: TEST_DIR: components -component_ut_pytest_esp32_generic: +pytest_components_esp32_generic: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32 @@ -502,7 +502,7 @@ component_ut_pytest_esp32_generic: tags: [ esp32, generic ] parallel: 7 -component_ut_pytest_esp32_generic_multi_device: +pytest_components_esp32_generic_multi_device: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32 @@ -510,7 +510,7 @@ component_ut_pytest_esp32_generic_multi_device: - build_pytest_components_esp32 tags: [ esp32, generic_multi_device ] -component_ut_pytest_esp32_wifi_two_dut: +pytest_components_esp32_wifi_two_dut: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32-wifi @@ -518,7 +518,7 @@ component_ut_pytest_esp32_wifi_two_dut: - build_pytest_components_esp32 tags: [ esp32, wifi_two_dut ] -component_ut_pytest_esp32_adc: +pytest_components_esp32_adc: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32-adc @@ -526,7 +526,7 @@ component_ut_pytest_esp32_adc: - build_pytest_components_esp32 tags: [ esp32, adc ] -component_ut_pytest_esp32_sdio: +pytest_components_esp32_sdio: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32-sdio @@ -534,7 +534,7 @@ component_ut_pytest_esp32_sdio: - build_pytest_components_esp32 tags: [ esp32, sdio_master_slave ] -component_ut_pytest_esp32_ip101: +pytest_components_esp32_ip101: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32 @@ -542,7 +542,7 @@ component_ut_pytest_esp32_ip101: - build_pytest_components_esp32 tags: [ esp32, ip101 ] -component_ut_pytest_esp32_lan8720: +pytest_components_esp32_lan8720: extends: - .pytest_components_dir_template - .rules:labels-protected:lan8720 # FIXME: IDFCI-1176 @@ -550,7 +550,7 @@ component_ut_pytest_esp32_lan8720: - build_pytest_components_esp32 tags: [ esp32, lan8720 ] -component_ut_pytest_esp32_ethernet: +pytest_components_esp32_ethernet: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32 @@ -558,7 +558,7 @@ component_ut_pytest_esp32_ethernet: - build_pytest_components_esp32 tags: [ esp32, ethernet ] -component_ut_pytest_esp32_flash_encryption: +pytest_components_esp32_flash_encryption: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32 @@ -566,7 +566,7 @@ component_ut_pytest_esp32_flash_encryption: - build_pytest_components_esp32 tags: [ esp32, flash_encryption ] -component_ut_pytest_esp32_flash_multi: +pytest_components_esp32_flash_multi: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32-flash_multi @@ -574,7 +574,7 @@ component_ut_pytest_esp32_flash_multi: - build_pytest_components_esp32 tags: [ esp32, flash_multi ] -component_ut_pytest_esp32_xtal32k: +pytest_components_esp32_xtal32k: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32 @@ -582,7 +582,7 @@ component_ut_pytest_esp32_xtal32k: - build_pytest_components_esp32 tags: [ esp32, xtal32k ] -component_ut_pytest_esp32_no32kXtal: +pytest_components_esp32_no32kXtal: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32 @@ -590,7 +590,7 @@ component_ut_pytest_esp32_no32kXtal: - build_pytest_components_esp32 tags: [ esp32, no32kXtal ] -component_ut_pytest_esp32_rs485_multi: +pytest_components_esp32_rs485_multi: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32 @@ -598,7 +598,7 @@ component_ut_pytest_esp32_rs485_multi: - build_pytest_components_esp32 tags: [ esp32, multi_dut_modbus_rs485 ] -component_ut_pytest_esp32_psramv0: +pytest_components_esp32_psramv0: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32 @@ -606,7 +606,7 @@ component_ut_pytest_esp32_psramv0: - build_pytest_components_esp32 tags: [ esp32, psramv0 ] -component_ut_pytest_esp32s2_generic: +pytest_components_esp32s2_generic: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s2 @@ -615,7 +615,7 @@ component_ut_pytest_esp32s2_generic: tags: [ esp32s2, generic ] parallel: 5 -component_ut_pytest_esp32s2_generic_multi_device: +pytest_components_esp32s2_generic_multi_device: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s2 @@ -623,7 +623,7 @@ component_ut_pytest_esp32s2_generic_multi_device: - build_pytest_components_esp32s2 tags: [ esp32s2, generic_multi_device ] -component_ut_pytest_esp32s2_adc: +pytest_components_esp32s2_adc: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s2-adc @@ -631,7 +631,7 @@ component_ut_pytest_esp32s2_adc: - build_pytest_components_esp32s2 tags: [ esp32s2, adc ] -component_ut_pytest_esp32s2_flash_multi: +pytest_components_esp32s2_flash_multi: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s2-flash_multi @@ -639,7 +639,7 @@ component_ut_pytest_esp32s2_flash_multi: - build_pytest_components_esp32s2 tags: [ esp32s2, flash_multi ] -component_ut_pytest_esp32s3_generic: +pytest_components_esp32s3_generic: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3 @@ -648,7 +648,7 @@ component_ut_pytest_esp32s3_generic: tags: [ esp32s3, generic ] parallel: 5 -component_ut_pytest_esp32s3_generic_multi_device: +pytest_components_esp32s3_generic_multi_device: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3 @@ -656,7 +656,7 @@ component_ut_pytest_esp32s3_generic_multi_device: - build_pytest_components_esp32s3 tags: [ esp32s3, generic_multi_device ] -component_ut_pytest_esp32s3_adc: +pytest_components_esp32s3_adc: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3-adc @@ -664,7 +664,7 @@ component_ut_pytest_esp32s3_adc: - build_pytest_components_esp32s3 tags: [ esp32s3, adc ] -component_ut_pytest_esp32s3_octal_psram: +pytest_components_esp32s3_octal_psram: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3 @@ -672,7 +672,7 @@ component_ut_pytest_esp32s3_octal_psram: - build_pytest_components_esp32s3 tags: [ esp32s3, octal_psram ] -component_ut_pytest_esp32s3_flash_encryption_f4r8: +pytest_components_esp32s3_flash_encryption_f4r8: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3 @@ -680,7 +680,7 @@ component_ut_pytest_esp32s3_flash_encryption_f4r8: - build_pytest_components_esp32s3 tags: [ esp32s3, flash_encryption_f4r8 ] -component_ut_pytest_esp32s3_flash_encryption_f8r8: +pytest_components_esp32s3_flash_encryption_f8r8: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3 @@ -688,7 +688,7 @@ component_ut_pytest_esp32s3_flash_encryption_f8r8: - build_pytest_components_esp32s3 tags: [ esp32s3, flash_encryption_f8r8 ] -component_ut_pytest_esp32s3_flash_multi: +pytest_components_esp32s3_flash_multi: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3-flash_multi @@ -696,7 +696,7 @@ component_ut_pytest_esp32s3_flash_multi: - build_pytest_components_esp32s3 tags: [ esp32s3, flash_multi ] -component_ut_pytest_esp32s3_mspi_f4r4: +pytest_components_esp32s3_mspi_f4r4: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3 @@ -704,7 +704,7 @@ component_ut_pytest_esp32s3_mspi_f4r4: - build_pytest_components_esp32s3 tags: [ esp32s3, MSPI_F4R4 ] -component_ut_pytest_esp32s3_mspi_f4r8: +pytest_components_esp32s3_mspi_f4r8: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3 @@ -712,7 +712,7 @@ component_ut_pytest_esp32s3_mspi_f4r8: - build_pytest_components_esp32s3 tags: [ esp32s3, MSPI_F4R8 ] -component_ut_pytest_esp32s3_mspi_f8r8: +pytest_components_esp32s3_mspi_f8r8: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3 @@ -720,7 +720,7 @@ component_ut_pytest_esp32s3_mspi_f8r8: - build_pytest_components_esp32s3 tags: [ esp32s3, MSPI_F8R8 ] -component_ut_pytest_esp32c2_generic: +pytest_components_esp32c2_generic: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c2 @@ -729,7 +729,7 @@ component_ut_pytest_esp32c2_generic: tags: [ esp32c2, generic, xtal_40mhz ] parallel: 3 -component_ut_pytest_esp32c2_adc: +pytest_components_esp32c2_adc: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c2-adc @@ -737,7 +737,7 @@ component_ut_pytest_esp32c2_adc: - build_pytest_components_esp32c2 tags: [ esp32c2, adc, xtal_26mhz ] -component_ut_pytest_esp32c2_generic_multi_device: +pytest_components_esp32c2_generic_multi_device: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c2 @@ -745,7 +745,7 @@ component_ut_pytest_esp32c2_generic_multi_device: - build_pytest_components_esp32c2 tags: [ esp32c2, generic_multi_device, xtal_40mhz ] -component_ut_pytest_esp32c2_xtal_26mhz: +pytest_components_esp32c2_xtal_26mhz: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c2 @@ -753,7 +753,7 @@ component_ut_pytest_esp32c2_xtal_26mhz: - build_pytest_components_esp32c2 tags: [ esp32c2, generic, xtal_26mhz ] -component_ut_pytest_esp32c3_generic: +pytest_components_esp32c3_generic: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c3 @@ -762,7 +762,7 @@ component_ut_pytest_esp32c3_generic: tags: [ esp32c3, generic ] parallel: 3 -component_ut_pytest_esp32c3_generic_multi_device: +pytest_components_esp32c3_generic_multi_device: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c3 @@ -770,7 +770,7 @@ component_ut_pytest_esp32c3_generic_multi_device: - build_pytest_components_esp32c3 tags: [ esp32c3, generic_multi_device ] -component_ut_pytest_esp32c3_wifi_two_dut: +pytest_components_esp32c3_wifi_two_dut: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c3-wifi @@ -778,7 +778,7 @@ component_ut_pytest_esp32c3_wifi_two_dut: - build_pytest_components_esp32c3 tags: [ esp32c3, wifi_two_dut ] -component_ut_pytest_esp32s3_wifi_two_dut: +pytest_components_esp32s3_wifi_two_dut: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3-wifi @@ -786,7 +786,7 @@ component_ut_pytest_esp32s3_wifi_two_dut: - build_pytest_components_esp32s3 tags: [ esp32s3, wifi_two_dut ] -component_ut_pytest_esp32c2_wifi_two_dut: +pytest_components_esp32c2_wifi_two_dut: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c2-wifi @@ -794,7 +794,7 @@ component_ut_pytest_esp32c2_wifi_two_dut: - build_pytest_components_esp32c2 tags: [ esp32c2, wifi_two_dut, xtal_26mhz ] -component_ut_pytest_esp32c3_adc: +pytest_components_esp32c3_adc: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c3-adc @@ -802,7 +802,7 @@ component_ut_pytest_esp32c3_adc: - build_pytest_components_esp32c3 tags: [ esp32c3, adc ] -component_ut_pytest_esp32c3_flash_encryption: +pytest_components_esp32c3_flash_encryption: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c3 @@ -810,7 +810,7 @@ component_ut_pytest_esp32c3_flash_encryption: - build_pytest_components_esp32c3 tags: [ esp32c3, flash_encryption ] -component_ut_pytest_esp32c3_flash_multi: +pytest_components_esp32c3_flash_multi: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c3-flash_multi @@ -818,7 +818,7 @@ component_ut_pytest_esp32c3_flash_multi: - build_pytest_components_esp32c3 tags: [ esp32c3, flash_multi ] -component_ut_pytest_esp32_sdmmc: +pytest_components_esp32_sdmmc: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32 @@ -826,7 +826,7 @@ component_ut_pytest_esp32_sdmmc: - build_pytest_components_esp32 tags: [ esp32, sdcard_sdmode ] -component_ut_pytest_esp32_sdspi: +pytest_components_esp32_sdspi: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32-sdio @@ -834,7 +834,7 @@ component_ut_pytest_esp32_sdspi: - build_pytest_components_esp32 tags: [ esp32, sdcard_spimode ] -component_ut_pytest_esp32s2_sdspi: +pytest_components_esp32s2_sdspi: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s2-sdio @@ -842,7 +842,7 @@ component_ut_pytest_esp32s2_sdspi: - build_pytest_components_esp32s2 tags: [ esp32s2, sdcard_spimode ] -component_ut_pytest_esp32c3_sdspi: +pytest_components_esp32c3_sdspi: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c3-sdio @@ -850,7 +850,7 @@ component_ut_pytest_esp32c3_sdspi: - build_pytest_components_esp32c3 tags: [ esp32c3, sdcard_spimode ] -component_ut_pytest_esp32c6_generic: +pytest_components_esp32c6_generic: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c6 @@ -859,7 +859,7 @@ component_ut_pytest_esp32c6_generic: tags: [ esp32c6, generic ] parallel: 2 -component_ut_pytest_esp32h2_generic: +pytest_components_esp32h2_generic: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32h2 @@ -868,7 +868,7 @@ component_ut_pytest_esp32h2_generic: tags: [ esp32h2, generic ] parallel: 2 -component_ut_pytest_esp32h2_generic_multi_device: +pytest_components_esp32h2_generic_multi_device: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32h2 @@ -876,7 +876,7 @@ component_ut_pytest_esp32h2_generic_multi_device: - build_pytest_components_esp32h2 tags: [ esp32h2, generic_multi_device ] -component_ut_pytest_esp32h2_adc: +pytest_components_esp32h2_adc: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32h2-adc @@ -884,7 +884,7 @@ component_ut_pytest_esp32h2_adc: - build_pytest_components_esp32h2 tags: [ esp32h2, adc ] -component_ut_pytest_esp32c6_generic_multi_device: +pytest_components_esp32c6_generic_multi_device: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c6 @@ -892,7 +892,7 @@ component_ut_pytest_esp32c6_generic_multi_device: - build_pytest_components_esp32c6 tags: [ esp32c6, generic_multi_device ] -component_ut_pytest_esp32c6_adc: +pytest_components_esp32c6_adc: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c6-adc @@ -900,7 +900,7 @@ component_ut_pytest_esp32c6_adc: - build_pytest_components_esp32c6 tags: [ esp32c6, adc ] -component_ut_pytest_esp32c6_i154: +pytest_components_esp32c6_i154: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32c6-i154 @@ -908,7 +908,7 @@ component_ut_pytest_esp32c6_i154: - build_pytest_components_esp32c6 tags: [ esp32c6, ieee802154 ] -example_test_pytest_openthread_br: +pytest_examples_openthread_br: extends: - .pytest_examples_dir_template - .rules:test:example_test-i154 @@ -920,7 +920,7 @@ example_test_pytest_openthread_br: - esp32c6 - openthread_br -component_ut_pytest_esp32s3_usb_host: +pytest_components_esp32s3_usb_host: extends: - .pytest_components_dir_template - .rules:test:component_ut-esp32s3-usb @@ -933,7 +933,7 @@ component_ut_pytest_esp32s3_usb_host: variables: TEST_DIR: tools/test_apps -test_app_test_pytest_esp32_generic: +pytest_test_apps_esp32_generic: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32 @@ -943,7 +943,7 @@ test_app_test_pytest_esp32_generic: variables: SETUP_TOOLS: "1" # need gdb -test_app_test_pytest_esp32_jtag: +pytest_test_apps_esp32_jtag: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32 @@ -954,7 +954,7 @@ test_app_test_pytest_esp32_jtag: SETUP_TOOLS: "1" # need gdb PYTEST_EXTRA_FLAGS: "--log-cli-level DEBUG" -test_app_test_pytest_esp32s2_generic: +pytest_test_apps_esp32s2_generic: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32s2 @@ -964,7 +964,7 @@ test_app_test_pytest_esp32s2_generic: variables: SETUP_TOOLS: "1" # need gdb -test_app_test_pytest_esp32s3_generic: +pytest_test_apps_esp32s3_generic: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32s3 @@ -972,7 +972,7 @@ test_app_test_pytest_esp32s3_generic: - build_pytest_test_apps_esp32s3 tags: [ esp32s3, generic ] -test_app_test_pytest_esp32c2_generic: +pytest_test_apps_esp32c2_generic: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32c2 @@ -980,7 +980,7 @@ test_app_test_pytest_esp32c2_generic: - build_pytest_test_apps_esp32c2 tags: [ esp32c2, generic, xtal_40mhz ] -test_app_test_pytest_esp32c3_generic: +pytest_test_apps_esp32c3_generic: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32c3 @@ -988,7 +988,7 @@ test_app_test_pytest_esp32c3_generic: - build_pytest_test_apps_esp32c3 tags: [ esp32c3, generic ] -test_app_test_pytest_esp32c6_generic: +pytest_test_apps_esp32c6_generic: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32c6 @@ -996,7 +996,7 @@ test_app_test_pytest_esp32c6_generic: - build_pytest_test_apps_esp32c6 tags: [ esp32c6, generic ] -test_app_test_pytest_esp32h2_generic: +pytest_test_apps_esp32h2_generic: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32h2 @@ -1004,7 +1004,7 @@ test_app_test_pytest_esp32h2_generic: - build_pytest_test_apps_esp32h2 tags: [ esp32h2, generic ] -test_app_test_pytest_esp32s3_mspi_f8r8: +pytest_test_apps_esp32s3_mspi_f8r8: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32s3 @@ -1012,7 +1012,7 @@ test_app_test_pytest_esp32s3_mspi_f8r8: - build_pytest_test_apps_esp32s3 tags: [ esp32s3, MSPI_F8R8 ] -test_app_test_pytest_esp32s3_mspi_f4r8: +pytest_test_apps_esp32s3_mspi_f4r8: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32s3 @@ -1020,7 +1020,7 @@ test_app_test_pytest_esp32s3_mspi_f4r8: - build_pytest_test_apps_esp32s3 tags: [ esp32s3, MSPI_F4R8 ] -test_app_test_pytest_esp32s3_mspi_f4r4: +pytest_test_apps_esp32s3_mspi_f4r4: extends: - .pytest_test_apps_dir_template - .rules:test:custom_test-esp32s3 From c9741e8100d821ac68483f16c5e08c485bfa0b10 Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Thu, 6 Apr 2023 11:15:35 +0800 Subject: [PATCH 4/7] ci: remove target test unused jobs --- .gitlab/ci/rules.yml | 6 ---- .gitlab/ci/target-test.yml | 63 -------------------------------------- 2 files changed, 69 deletions(-) diff --git a/.gitlab/ci/rules.yml b/.gitlab/ci/rules.yml index 29daa05b8e..09f2e8b446 100644 --- a/.gitlab/ci/rules.yml +++ b/.gitlab/ci/rules.yml @@ -1835,12 +1835,6 @@ - <<: *if-protected - <<: *if-label-lan8720 -.rules:labels:iperf_stress_test: - rules: - - <<: *if-revert-branch - when: never - - <<: *if-label-iperf_stress_test - .rules:labels:nvs_coverage: rules: - <<: *if-revert-branch diff --git a/.gitlab/ci/target-test.yml b/.gitlab/ci/target-test.yml index e99088bcfb..4838864daf 100644 --- a/.gitlab/ci/target-test.yml +++ b/.gitlab/ci/target-test.yml @@ -1079,42 +1079,11 @@ pytest_test_apps_esp32s3_mspi_f4r4: - .example_test_template - .rules:test:example_test-esp32 -.example_test_esp32s2_template: - extends: - - .example_test_template - - .rules:test:example_test-esp32s2 - -.example_test_esp32c2_template: - extends: - - .example_test_template - - .rules:test:example_test-esp32c2 - .example_test_esp32c3_template: extends: - .example_test_template - .rules:test:example_test-esp32c3 -.example_test_esp32c6_template: - extends: - - .example_test_template - - .rules:test:example_test-esp32c6 - -.example_test_esp32h2_template: - extends: - - .example_test_template - - .rules:test:example_test-esp32h2 - -.example_test_esp32s3_template: - extends: - - .example_test_template - - .rules:test:example_test-esp32s3 - -example_test_001B_V3: - extends: .example_test_esp32_template - tags: - - ESP32 - - Example_EthKitV12 - example_test_001C: extends: .example_test_esp32_template tags: @@ -1135,50 +1104,18 @@ example_test_005: - ESP32 - Example_WIFI_BT -example_test_006: - extends: - - .example_test_esp32_template - - .rules:labels:iperf_stress_test - tags: - - ESP32 - - Example_ShieldBox - example_test_007: extends: .example_test_esp32_template tags: - ESP32 - Example_I2C_CCS811_SENSOR -example_test_017: - extends: .example_test_esp32s2_template - tags: - - ESP32S2 - - Example_GENERIC - example_test_C3_GENERIC: extends: .example_test_esp32c3_template tags: - ESP32C3 - Example_GENERIC -example_test_C2_GENERIC: - extends: .example_test_esp32c2_template - tags: - - ESP32C2 - - Example_GENERIC - -example_test_C6_GENERIC: - extends: .example_test_esp32c6_template - tags: - - ESP32C6 - - Example_GENERIC - -example_test_H2_GENERIC: - extends: .example_test_esp32h2_template - tags: - - ESP32H2 - - Example_GENERIC - .unit_test_template: extends: .target_test_job_template needs: # the assign already needs all the build jobs From d18b6ade6e6b0791897665130988b553ef32f657 Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Thu, 6 Apr 2023 11:15:55 +0800 Subject: [PATCH 5/7] ci: increase concurrency number of build_pytest_components_esp32h2 --- .gitlab/ci/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab/ci/build.yml b/.gitlab/ci/build.yml index 72d43f22dc..058bb62f9e 100644 --- a/.gitlab/ci/build.yml +++ b/.gitlab/ci/build.yml @@ -306,6 +306,7 @@ build_pytest_components_esp32h2: extends: - .build_pytest_template - .rules:build:component_ut-esp32h2 + parallel: 4 variables: IDF_TARGET: esp32h2 TEST_DIR: components From 9153f9c9277484166f8fbda7ed7ac3c75e1e374f Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Thu, 6 Apr 2023 14:24:20 +0800 Subject: [PATCH 6/7] ci: don't run idf-size for linux target --- tools/ci/ci_build_apps.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/tools/ci/ci_build_apps.py b/tools/ci/ci_build_apps.py index 64e8beeb72..a7ec214309 100644 --- a/tools/ci/ci_build_apps.py +++ b/tools/ci/ci_build_apps.py @@ -60,18 +60,13 @@ def get_pytest_apps( LOGGER.info(f'Found {len(app_dirs)} apps') app_dirs.sort() - default_size_json_path = 'size.json' - build_dir = 'build_@t_@w' - if target == 'linux': # no esp_idf_size for linux target - default_size_json_path = None # type: ignore - apps = find_apps( app_dirs, target=target, - build_dir=build_dir, + build_dir='build_@t_@w', config_rules_str=config_rules_str, build_log_path='build_log.txt', - size_json_path=default_size_json_path, + size_json_path='size.json', check_warnings=True, manifest_files=[str(p) for p in Path(IDF_PATH).glob('**/.build-test-rules.yml')], default_build_targets=SUPPORTED_TARGETS + extra_default_build_targets, @@ -83,6 +78,9 @@ def get_pytest_apps( if not preserve_all and not is_test_related: app.preserve = False + if app.target == 'linux': + app._size_json_path = None # no esp_idf_size for linux target + return apps # type: ignore @@ -94,6 +92,7 @@ def get_cmake_apps( extra_default_build_targets: Optional[List[str]] = None, ) -> List[App]: ttfw_app_dirs = get_ttfw_app_paths(paths, target) + apps = find_apps( paths, recursive=True, @@ -119,6 +118,9 @@ def get_cmake_apps( LOGGER.debug('Skipping build app with pytest scripts: %s', app) continue + if app.target == 'linux': + app._size_json_path = None # no esp_idf_size for linux target + apps_for_build.append(app) return apps_for_build From ff7fce9739027b5760e9a218a7b3be652e6dc584 Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Fri, 7 Apr 2023 10:41:58 +0800 Subject: [PATCH 7/7] ci: fixed custom partition table subtype test not compiling for linux --- .../custom_partition_subtypes/CMakeLists.txt | 9 +++++++-- .../custom_partition_subtypes/main/CMakeLists.txt | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/tools/test_apps/build_system/custom_partition_subtypes/CMakeLists.txt b/tools/test_apps/build_system/custom_partition_subtypes/CMakeLists.txt index 5735e62225..0153334d81 100644 --- a/tools/test_apps/build_system/custom_partition_subtypes/CMakeLists.txt +++ b/tools/test_apps/build_system/custom_partition_subtypes/CMakeLists.txt @@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) +set(COMPONENTS main partition_table custom) project(custom_partition_subtypes) @@ -20,6 +21,10 @@ add_custom_command(OUTPUT ${blank_file} ${partition_size} ${blank_file}) add_custom_target(blank_bin ALL DEPENDS ${blank_file}) -add_dependencies(flash blank_bin) -esptool_py_flash_to_partition(flash "${partition}" "${blank_file}") +idf_build_get_property(target IDF_TARGET) + +if(NOT ${target} STREQUAL "linux") + add_dependencies(flash blank_bin) + esptool_py_flash_to_partition(flash "${partition}" "${blank_file}") +endif() diff --git a/tools/test_apps/build_system/custom_partition_subtypes/main/CMakeLists.txt b/tools/test_apps/build_system/custom_partition_subtypes/main/CMakeLists.txt index f7785d060c..ce71e8127d 100644 --- a/tools/test_apps/build_system/custom_partition_subtypes/main/CMakeLists.txt +++ b/tools/test_apps/build_system/custom_partition_subtypes/main/CMakeLists.txt @@ -1,2 +1,3 @@ -idf_component_register(SRCS test_main.c) +idf_component_register(SRCS test_main.c + REQUIRES esp_partition) target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format")