From 6e545215c13c7e4a2d0c561183eb8fe9fe6179d8 Mon Sep 17 00:00:00 2001 From: He Yin Ling Date: Thu, 12 Nov 2020 17:58:24 +0800 Subject: [PATCH 1/3] ci: enable ESP32S2 unit test by default --- tools/ci/config/rules.yml | 18 ++++++--- tools/ci/config/target-test.yml | 71 ++++++++++++++++++--------------- 2 files changed, 51 insertions(+), 38 deletions(-) diff --git a/tools/ci/config/rules.yml b/tools/ci/config/rules.yml index 5108085bf5..b4dad123fd 100644 --- a/tools/ci/config/rules.yml +++ b/tools/ci/config/rules.yml @@ -32,14 +32,14 @@ .if-label-integration_test: &if-label-integration_test if: '$BOT_LABEL_INTEGRATION_TEST' -.if-label-unit_test: &if-label-unit_test - if: '$BOT_LABEL_UNIT_TEST' +.if-label-unit_test-32_only: &if-label-unit_test-32_only + if: '$BOT_LABEL_UNIT_TEST_32' -.if-label-unit_test_s2: &if-label-unit_test_s2 +.if-label-unit_test-s2_only: &if-label-unit_test-s2_only if: '$BOT_LABEL_UNIT_TEST_S2' .if-label-unit_test-all_targets: &if-label-unit_test-all_targets - if: '$BOT_LABEL_UNIT_TEST || $BOT_LABEL_UNIT_TEST_S2' + if: '$BOT_LABEL_UNIT_TEST' .if-label-weekend_test: &if-label-weekend_test if: '$BOT_LABEL_WEEKEND_TEST' @@ -176,11 +176,17 @@ .rules:tests:unit_test: rules: - <<: *if-protected-no_label - - <<: *if-label-unit_test + - <<: *if-label-unit_test-all_targets + +.rules:tests:unit_test_32-only: + rules: + - <<: *if-protected-no_label + - <<: *if-label-unit_test-32_only .rules:tests:unit_test_s2-only: rules: - - <<: *if-label-unit_test_s2 + - <<: *if-protected-no_label + - <<: *if-label-unit_test-s2_only .rules:tests:integration_test: rules: diff --git a/tools/ci/config/target-test.yml b/tools/ci/config/target-test.yml index c5f17599a2..7af34fa0f3 100644 --- a/tools/ci/config/target-test.yml +++ b/tools/ci/config/target-test.yml @@ -80,6 +80,18 @@ TEST_CASE_PATH: "$CI_PROJECT_DIR/tools/unit-test-app" CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/components/idf_test/unit_test/CIConfigs" +.unit_test_32_template: + extends: + - .unit_test_template + - .rules:tests:unit_test_32-only + - .rules:tests:unit_test + +.unit_test_s2_template: + extends: + - .unit_test_template + - .rules:tests:unit_test_s2-only + - .rules:tests:unit_test + .integration_test_template: extends: - .target_test_job_template @@ -332,7 +344,7 @@ component_ut_test_001: - COMPONENT_UT_GENERIC UT_001: - extends: .unit_test_template + extends: .unit_test_32_template parallel: 45 tags: - ESP32_IDF @@ -341,7 +353,7 @@ UT_001: # Max. allowed value of 'parallel' is 50. UT_002: - extends: .unit_test_template + extends: .unit_test_32_template parallel: 13 tags: - ESP32_IDF @@ -349,74 +361,74 @@ UT_002: - psram UT_003: - extends: .unit_test_template + extends: .unit_test_32_template parallel: 2 tags: - ESP32_IDF - UT_T1_SDMODE UT_004: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_SPIMODE UT_005: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_SDMODE - psram UT_006: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_SPIMODE - psram UT_008: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_GPIO - psram UT_012: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_LEDC - psram UT_014: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T2_RS485 - psram UT_015: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_RMT UT_016: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_RMT - psram UT_017: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - EMMC UT_018: - extends: .unit_test_template + extends: .unit_test_32_template parallel: 2 tags: - ESP32_IDF @@ -424,65 +436,60 @@ UT_018: - 8Mpsram UT_020: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - Example_SPI_Multi_device - psram UT_022: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T2_I2C - psram UT_023: - extends: .unit_test_template + extends: .unit_test_32_template parallel: 2 tags: - ESP32_IDF - UT_T1_MCPWM UT_024: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_MCPWM - psram UT_028: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T2_1 - psram UT_031: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_FlashEncryption UT_033: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T2_Ethernet - psram UT_034: - extends: .unit_test_template + extends: .unit_test_32_template parallel: 2 tags: - ESP32_IDF - UT_T1_ESP_FLASH -.unit_test_s2_template: - extends: - - .unit_test_template - - .rules:tests:unit_test_s2-only # due to the lack of runners, s2 tests will only be triggered by label - UT_035: extends: .unit_test_s2_template parallel: 46 @@ -491,7 +498,7 @@ UT_035: - UT_T1_1 UT_036: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_PSRAMV0 @@ -512,34 +519,34 @@ UT_038: - UT_T1_ESP_FLASH UT_041: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_no32kXTAL - psram UT_043: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_32kXTAL - psram UT_044: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_SDIO UT_045: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_SDIO - psram UT_046: - extends: .unit_test_template + extends: .unit_test_32_template tags: - ESP32_IDF - UT_T1_GPIO From 6fd2d27bfd302be3844eee2d40b4087f91d3393f Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Mon, 30 Nov 2020 11:44:37 +0800 Subject: [PATCH 2/3] Make sure "unit_test" will trigger all labels - keep labels name consist with the bot variable --- tools/ci/config/rules.yml | 31 ++++++++++++++++++------------- tools/ci/config/target-test.yml | 6 ++---- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/tools/ci/config/rules.yml b/tools/ci/config/rules.yml index b4dad123fd..9f4370b2ac 100644 --- a/tools/ci/config/rules.yml +++ b/tools/ci/config/rules.yml @@ -32,14 +32,17 @@ .if-label-integration_test: &if-label-integration_test if: '$BOT_LABEL_INTEGRATION_TEST' -.if-label-unit_test-32_only: &if-label-unit_test-32_only +.if-label-unit_test: &if-label-unit_test + if: '$BOT_LABEL_UNIT_TEST' + +.if-label-unit_test-32: &if-label-unit_test-32 if: '$BOT_LABEL_UNIT_TEST_32' -.if-label-unit_test-s2_only: &if-label-unit_test-s2_only +.if-label-unit_test-s2: &if-label-unit_test-s2 if: '$BOT_LABEL_UNIT_TEST_S2' -.if-label-unit_test-all_targets: &if-label-unit_test-all_targets - if: '$BOT_LABEL_UNIT_TEST' +.if-label-unit_test-all_labels: &if-label-unit_test-all_labels + if: '$BOT_LABEL_UNIT_TEST || $BOT_LABEL_UNIT_TEST_32 || $BOT_LABEL_UNIT_TEST_S2' .if-label-weekend_test: &if-label-weekend_test if: '$BOT_LABEL_WEEKEND_TEST' @@ -176,17 +179,19 @@ .rules:tests:unit_test: rules: - <<: *if-protected-no_label - - <<: *if-label-unit_test-all_targets + - <<: *if-label-unit_test-all_labels -.rules:tests:unit_test_32-only: +.rules:tests:unit_test_32: rules: - <<: *if-protected-no_label - - <<: *if-label-unit_test-32_only + - <<: *if-label-unit_test + - <<: *if-label-unit_test-32 -.rules:tests:unit_test_s2-only: +.rules:tests:unit_test_s2: rules: - <<: *if-protected-no_label - - <<: *if-label-unit_test-s2_only + - <<: *if-label-unit_test + - <<: *if-label-unit_test-s2 .rules:tests:integration_test: rules: @@ -199,7 +204,7 @@ - <<: *if-label-regular_test - <<: *if-label-example_test - <<: *if-label-custom_test - - <<: *if-label-unit_test-all_targets + - <<: *if-label-unit_test-all_labels - <<: *if-label-integration_test - <<: *if-label-weekend_test @@ -222,7 +227,7 @@ - <<: *if-protected-no_label - <<: *if-label-build - <<: *if-label-regular_test - - <<: *if-label-unit_test-all_targets + - <<: *if-label-unit_test-all_labels .rules:build_tests:example_test-weekend_test: rules: @@ -247,7 +252,7 @@ - <<: *if-label-regular_test - <<: *if-label-example_test - <<: *if-label-custom_test - - <<: *if-label-unit_test-all_targets + - <<: *if-label-unit_test-all_labels .rules:build_tests:target_test-weekend_test: rules: @@ -256,5 +261,5 @@ - <<: *if-label-regular_test - <<: *if-label-example_test - <<: *if-label-custom_test - - <<: *if-label-unit_test-all_targets + - <<: *if-label-unit_test-all_labels - <<: *if-label-weekend_test diff --git a/tools/ci/config/target-test.yml b/tools/ci/config/target-test.yml index 7af34fa0f3..4aa2aaf4df 100644 --- a/tools/ci/config/target-test.yml +++ b/tools/ci/config/target-test.yml @@ -83,14 +83,12 @@ .unit_test_32_template: extends: - .unit_test_template - - .rules:tests:unit_test_32-only - - .rules:tests:unit_test + - .rules:tests:unit_test_32 .unit_test_s2_template: extends: - .unit_test_template - - .rules:tests:unit_test_s2-only - - .rules:tests:unit_test + - .rules:tests:unit_test_s2 .integration_test_template: extends: From 7281a5a0cccc9297cb942cdeab6e54f3532c944f Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Mon, 30 Nov 2020 11:45:16 +0800 Subject: [PATCH 3/3] Split component_ut tests based on targets - add more label in CIScanTest.py - fix the bug that will cause labels not iterate correctly --- tools/ci/config/target-test.yml | 12 +++++++++++- tools/ci/python_packages/ttfw_idf/CIScanTests.py | 11 ++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/tools/ci/config/target-test.yml b/tools/ci/config/target-test.yml index 4aa2aaf4df..71c3b625bc 100644 --- a/tools/ci/config/target-test.yml +++ b/tools/ci/config/target-test.yml @@ -72,6 +72,16 @@ # run test - python Runner.py $COMPONENT_UT_DIRS -c $CONFIG_FILE -e $ENV_FILE +.component_ut_32_template: + extends: + - .component_ut_template + - .rules:tests:unit_test_32 + +.component_ut_s2_template: # unused yet + extends: + - .component_ut_template + - .rules:tests:unit_test_s2 + .unit_test_template: extends: - .target_test_job_template @@ -336,7 +346,7 @@ test_app_test_004: - Example_GENERIC component_ut_test_001: - extends: .component_ut_template + extends: .component_ut_32_template tags: - ESP32 - COMPONENT_UT_GENERIC diff --git a/tools/ci/python_packages/ttfw_idf/CIScanTests.py b/tools/ci/python_packages/ttfw_idf/CIScanTests.py index 8d1c5e4ad8..462249d157 100644 --- a/tools/ci/python_packages/ttfw_idf/CIScanTests.py +++ b/tools/ci/python_packages/ttfw_idf/CIScanTests.py @@ -13,7 +13,9 @@ from idf_py_actions.constants import SUPPORTED_TARGETS, PREVIEW_TARGETS TEST_LABELS = { 'example_test': 'BOT_LABEL_EXAMPLE_TEST', 'test_apps': 'BOT_LABEL_CUSTOM_TEST', - 'component_ut': ['BOT_LABEL_UNIT_TEST', 'BOT_LABEL_UNIT_TEST_S2'], + 'component_ut': ['BOT_LABEL_UNIT_TEST', + 'BOT_LABEL_UNIT_TEST_32', + 'BOT_LABEL_UNIT_TEST_S2'], } BUILD_ALL_LABELS = [ @@ -45,11 +47,10 @@ def _judge_build_or_not(action, build_all): # type: (str, bool) -> (bool, bool) for label in labels: if os.getenv(label): - logging.info('Build test cases apps') + logging.info('Build only test cases apps') return True, False - else: - logging.info('Skip all') - return False, False + logging.info('Skip all') + return False, False def output_json(apps_dict_list, target, build_system, output_dir):