| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252 |
- .target_test_template:
- image: $TARGET_TEST_ENV_IMAGE
- stage: target_test
- timeout: 1 hour
- variables:
- GIT_DEPTH: 1
- SUBMODULES_TO_FETCH: "none"
- cache:
- # Usually do not need submodule-cache in target_test
- - key: pip-cache
- paths:
- - .cache/pip
- policy: pull
- .pytest_template:
- extends:
- - .target_test_template
- artifacts:
- when: always
- paths:
- - XUNIT_RESULT.xml
- - pytest_embedded_log/
- reports:
- junit: XUNIT_RESULT.xml
- expire_in: 1 week
- script:
- - retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
- # get runner env config file
- - retry_failed git clone $TEST_ENV_CONFIG_REPO
- - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
- # using runner tags as markers to filter the test cases
- # Runner tags are comma separated, replace the comma with " and " for markers
- - job_tags=$(python tools/ci/python_packages/gitlab_api.py get_job_tags $CI_PROJECT_ID --job_id $CI_JOB_ID)
- - markers=$(echo $job_tags | sed -e "s/,/ and /g")
- - run_cmd pytest $TEST_DIR -m \"${markers}\" --junitxml=XUNIT_RESULT.xml --known-failure-cases-file known_failure_cases/known_failure_cases.txt
- .pytest_examples_dir_template:
- extends: .pytest_template
- variables:
- TEST_DIR: examples
- example_test_pytest_esp32_generic:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, generic ]
- example_test_pytest_esp32_ir_transceiver:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, ir_transceiver ]
- example_test_pytest_esp32s2_generic:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32s2
- needs:
- - build_pytest_examples_esp32s2
- tags: [ esp32s2, generic ]
- example_test_pytest_esp32s3_generic:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32s3
- needs:
- - build_pytest_examples_esp32s3
- tags: [ esp32s3, generic ]
- example_test_pytest_esp32c2_generic:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32c2
- needs:
- - build_pytest_examples_esp32c2
- tags: [ esp32c2, generic, xtal_40mhz ]
- example_test_pytest_esp32c2_26mhz:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32c2
- needs:
- - build_pytest_examples_esp32c2
- tags: [ esp32c2, xtal_26mhz ]
- example_test_pytest_esp32c3_generic:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32c3
- needs:
- - build_pytest_examples_esp32c3
- tags: [ esp32c3, generic ]
- example_test_pytest_esp32c3_flash_suspend:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32c3
- needs:
- - build_pytest_examples_esp32c3
- tags: [ esp32c3, flash_suspend ]
- example_test_pytest_esp32_ethernet_ota:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32-ethernet
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, ethernet_ota ]
- example_test_pytest_esp32_wifi_high_traffic:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32-wifi
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, wifi_high_traffic ]
- example_test_pytest_esp32_flash_encryption_wifi_high_traffic:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32-include_nightly_run-rule
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, flash_encryption_wifi_high_traffic ]
- example_test_pytest_esp32c3_flash_encryption_wifi_high_traffic:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32c3-include_nightly_run-rule
- needs:
- - build_pytest_examples_esp32c3
- tags: [ esp32c3, flash_encryption_wifi_high_traffic ]
- example_test_pytest_esp32_ethernet:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32-ethernet
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, ethernet]
- example_test_pytest_esp32_8mb_flash:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, ethernet_flash_8m ]
- example_test_pytest_esp32_wifi_ap:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32-wifi
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, wifi_ap ]
- example_test_pytest_esp32_wifi_router:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32-wifi
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, wifi_router ]
- example_test_pytest_esp32_wifi_wlan:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32-wifi
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, wifi_wlan ]
- example_test_pytest_esp32_ethernet_ip101:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, ip101 ]
- example_test_pytest_esp32_flash_encryption:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, flash_encryption ]
- example_test_pytest_esp32_multi_dut_generic:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32
- needs:
- - build_pytest_examples_esp32
- tags: [ esp32, multi_dut_generic ]
- example_test_pytest_esp32c3_flash_encryption:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32c3
- needs:
- - build_pytest_examples_esp32c3
- tags: [ esp32c3, flash_encryption ]
- example_test_pytest_esp32s2_usb_device:
- extends:
- - .pytest_examples_dir_template
- - .rules:test:example_test-esp32s2-usb
- needs:
- - build_pytest_examples_esp32s2
- tags: [ esp32s2, usb_device ]
- .pytest_components_dir_template:
- extends: .pytest_template
- variables:
- TEST_DIR: components
- component_ut_pytest_esp32_generic:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32
- needs:
- - build_pytest_components_esp32
- tags: [ esp32, generic ]
- component_ut_pytest_esp32_ip101:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32
- needs:
- - build_pytest_components_esp32
- tags: [ esp32, ip101 ]
- component_ut_pytest_esp32_lan8720:
- extends:
- - .pytest_components_dir_template
- - .rules:labels-protected:lan8720 # FIXME: IDFCI-1176
- needs:
- - build_pytest_components_esp32
- tags: [ esp32, lan8720 ]
- component_ut_pytest_esp32_flash_encryption:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32
- needs:
- - build_pytest_components_esp32
- tags: [ esp32, flash_encryption ]
- component_ut_pytest_esp32s2_generic:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32s2
- needs:
- - build_pytest_components_esp32s2
- tags: [ esp32s2, generic ]
- component_ut_pytest_esp32s3_generic:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32s3
- needs:
- - build_pytest_components_esp32s3
- tags: [ esp32s3, generic ]
- component_ut_pytest_esp32s3_octal_psram:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32s3
- needs:
- - build_pytest_components_esp32s3
- tags: [ esp32s3, octal_psram ]
- component_ut_pytest_esp32s3_flash_encryption_f4r8:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32s3
- needs:
- - build_pytest_components_esp32s3
- tags: [ esp32s3, flash_encryption_f4r8 ]
- component_ut_pytest_esp32s3_flash_encryption_f8r8:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32s3
- needs:
- - build_pytest_components_esp32s3
- tags: [ esp32s3, flash_encryption_f8r8 ]
- component_ut_pytest_esp32c2_generic:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32c2
- needs:
- - build_pytest_components_esp32c2
- tags: [ esp32c2, generic, xtal_40mhz ]
- component_ut_pytest_esp32c2_xtal_26mhz:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32c2
- needs:
- - build_pytest_components_esp32c2
- tags: [ esp32c2, xtal_26mhz ]
- component_ut_pytest_esp32c3_generic:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32c3
- needs:
- - build_pytest_components_esp32c3
- tags: [ esp32c3, generic ]
- component_ut_pytest_esp32c3_flash_encryption:
- extends:
- - .pytest_components_dir_template
- - .rules:test:component_ut-esp32c3
- needs:
- - build_pytest_components_esp32c3
- tags: [ esp32c3, flash_encryption ]
- .pytest_test_apps_dir_template:
- extends: .pytest_template
- variables:
- TEST_DIR: tools/test_apps
- test_app_test_pytest_esp32_generic:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32
- needs:
- - build_pytest_test_apps_esp32
- tags: [ esp32, generic ]
- variables:
- SETUP_TOOLS: "1" # need gdb
- test_app_test_pytest_esp32_jtag:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32
- needs:
- - build_pytest_test_apps_esp32
- tags: [ esp32, test_jtag_arm]
- variables:
- SETUP_TOOLS: "1" # need gdb
- test_app_test_pytest_esp32s2_generic:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32s2
- needs:
- - build_pytest_test_apps_esp32s2
- tags: [ esp32s2, generic ]
- variables:
- SETUP_TOOLS: "1" # need gdb
- test_app_test_pytest_esp32s3_generic:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32s3
- needs:
- - build_pytest_test_apps_esp32s3
- tags: [ esp32s3, generic ]
- test_app_test_pytest_esp32c2_generic:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32c2
- needs:
- - build_pytest_test_apps_esp32c2
- tags: [ esp32c2, generic, xtal_40mhz ]
- test_app_test_pytest_esp32c2_26mhz:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32c2
- needs:
- - build_pytest_test_apps_esp32c2
- tags: [ esp32c2, xtal_26mhz ]
- test_app_test_pytest_esp32c3_generic:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32c3
- needs:
- - build_pytest_test_apps_esp32c3
- tags: [ esp32c3, generic ]
- test_app_test_pytest_esp32s2_usb_host:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32s2
- needs:
- - build_pytest_test_apps_esp32s2
- tags: [ esp32s2, usb_host ]
- test_app_test_pytest_esp32s3_mspi_f8r8:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32s3
- needs:
- - build_pytest_test_apps_esp32s3
- tags: [ esp32s3, MSPI_F8R8 ]
- test_app_test_pytest_esp32s3_mspi_f4r8:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32s3
- needs:
- - build_pytest_test_apps_esp32s3
- tags: [ esp32s3, MSPI_F4R8 ]
- test_app_test_pytest_esp32s3_mspi_f4r4:
- extends:
- - .pytest_test_apps_dir_template
- - .rules:test:custom_test-esp32s3
- needs:
- - build_pytest_test_apps_esp32s3
- tags: [ esp32s3, MSPI_F4R4 ]
- # for parallel jobs, CI_JOB_NAME will be "job_name index/total" (for example, "IT_001 1/2")
- # we need to convert to pattern "job_name_index.yml"
- .define_config_file_name: &define_config_file_name |
- JOB_NAME_PREFIX=$(echo ${CI_JOB_NAME} | awk '{print $1}')
- JOB_FULL_NAME="${JOB_NAME_PREFIX}_${CI_NODE_INDEX}"
- CONFIG_FILE="${CONFIG_FILE_PATH}/${JOB_FULL_NAME}.yml"
- .target_test_job_template:
- extends:
- - .target_test_template
- artifacts:
- when: always
- paths:
- - "**/*.log"
- - $LOG_PATH
- exclude:
- - .git/**/*
- reports:
- junit: $LOG_PATH/*/XUNIT_RESULT.xml
- expire_in: 1 week
- variables:
- TEST_FW_PATH: "$CI_PROJECT_DIR/tools/tiny-test-fw"
- LOG_PATH: "$CI_PROJECT_DIR/TEST_LOGS"
- ENV_FILE: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/EnvConfig.yml"
- script:
- - *define_config_file_name
- # first test if config file exists, if not exist, exit 0
- - |
- { [[ -e $CONFIG_FILE ]]; } || { echo 'No config file found. Consider decreasing the parallel count of this job in ".gitlab/ci/target-test.yml"'; exit 0; }
- # clone test env configs
- - retry_failed git clone $TEST_ENV_CONFIG_REPO
- - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
- # git clone the known failure cases repo, run test
- - retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
- # run test
- - cd tools/ci/python_packages/tiny_test_fw/bin
- - run_cmd python Runner.py $TEST_CASE_PATH -c $CONFIG_FILE -e $ENV_FILE --known_failure_cases_file $CI_PROJECT_DIR/known_failure_cases/known_failure_cases.txt
- .example_test_template:
- extends: .target_test_job_template
- needs:
- - assign_example_test
- variables:
- 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
- - .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_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
- parallel: 2
- tags:
- - ESP32
- - Example_GENERIC
- example_test_protocols:
- extends:
- - .example_test_esp32_template
- - .rules:test:example_test-esp32-wifi
- tags:
- - ESP32
- - wifi_router
- example_test_002:
- extends:
- - .example_test_esp32_template
- - .rules:test:example_test-esp32-wifi
- tags:
- - ESP32
- - Example_ShieldBox_Basic
- example_test_ethernet_router:
- extends:
- - .example_test_esp32_template
- - .rules:test:example_test-esp32-ethernet
- tags:
- - ESP32
- - ethernet_router
- .example_test_003:
- extends: .example_test_esp32_template
- tags:
- - ESP32
- - Example_SDIO
- example_test_004A:
- extends: .example_test_esp32_template
- tags:
- - ESP32
- - Example_TWAI1
- example_test_004B:
- extends: .example_test_esp32_template
- tags:
- - ESP32
- - Example_TWAI2
- example_test_005:
- extends:
- - .example_test_esp32_template
- - .rules:test:example_test-esp32-bt
- tags:
- - 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_009:
- extends: .example_test_esp32_template
- tags:
- - ESP32
- - test_jtag_arm
- variables:
- SETUP_TOOLS: "1"
- PYTHON_VER: 3
- example_test_010:
- extends: .example_test_esp32_template
- tags:
- - ESP32
- - Example_ExtFlash
- example_test_011:
- extends: .example_test_esp32_template
- tags:
- - ESP32
- - Example_T2_RS485
- example_test_013:
- extends: .example_test_esp32_template
- tags:
- - ESP32
- - UT_T1_SDMODE
- example_test_016:
- extends: .example_test_esp32_template
- tags:
- - ESP32
- - Example_Modbus_TCP
- example_test_017:
- extends: .example_test_esp32s2_template
- tags:
- - ESP32S2
- - Example_GENERIC
- example_test_C3_GENERIC:
- extends: .example_test_esp32c3_template
- parallel: 2
- tags:
- - ESP32C3
- - Example_GENERIC
- example_test_C2_GENERIC:
- extends: .example_test_esp32c2_template
- tags:
- - ESP32C2
- - Example_GENERIC
- example_test_ESP32_SDSPI:
- extends: .example_test_esp32_template
- tags:
- - ESP32
- - UT_T1_SPIMODE
- example_test_ESP32S2_SDSPI:
- extends: .example_test_esp32s2_template
- tags:
- - ESP32S2
- - UT_T1_SPIMODE
- example_test_ESP32C3_SDSPI:
- extends: .example_test_esp32c3_template
- tags:
- - ESP32C3
- - UT_T1_SPIMODE
- .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_esp32s3_template:
- extends:
- - .test_app_template
- - .rules:test:custom_test-esp32s3
- test_app_test_001:
- extends: .test_app_esp32_template
- tags:
- - ESP32
- - test_jtag_arm
- variables:
- SETUP_TOOLS: "1"
- test_app_test_eth:
- extends: .test_app_esp32_template
- tags:
- - ESP32
- - ethernet_router
- test_app_test_004:
- extends: .test_app_esp32s2_template
- tags:
- - ESP32S2
- - Example_GENERIC
- test_app_test_esp32c2_generic:
- extends: .test_app_esp32c2_template
- tags:
- - ESP32C2
- - Example_GENERIC
- - xtal_40mhz
- test_app_test_esp32c2_26mhz:
- extends: .test_app_esp32c2_template
- tags:
- - ESP32C2
- - xtal_26mhz
- test_app_test_005:
- extends: .test_app_esp32c3_template
- tags:
- - ESP32C3
- - Example_GENERIC
- test_app_test_006:
- extends: .test_app_esp32s3_template
- tags:
- - ESP32S3
- - Example_GENERIC
- test_app_test_esp32_generic:
- extends: .test_app_esp32_template
- tags:
- - ESP32
- - Example_GENERIC
- .unit_test_template:
- extends: .target_test_job_template
- needs: # the assign already needs all the build jobs
- - assign_unit_test
- variables:
- GIT_DEPTH: 1
- TEST_CASE_PATH: "$CI_PROJECT_DIR/tools/unit-test-app"
- CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/components/idf_test/unit_test/test_configs"
- .unit_test_esp32_template:
- extends:
- - .unit_test_template
- - .rules:test:unit_test-esp32
- .unit_test_esp32s2_template:
- extends:
- - .unit_test_template
- - .rules:test:unit_test-esp32s2
- .unit_test_esp32s3_template:
- extends:
- - .unit_test_template
- - .rules:test:unit_test-esp32s3
- .unit_test_esp32c2_template:
- extends:
- - .unit_test_template
- - .rules:test:unit_test-esp32c2
- .unit_test_esp32c3_template:
- extends:
- - .unit_test_template
- - .rules:test:unit_test-esp32c3
- UT_001:
- extends: .unit_test_esp32_template
- parallel: 50
- tags:
- - ESP32_IDF
- - UT_T1_1
- # Max. allowed value of 'parallel' is 50.
- UT_002:
- extends: .unit_test_esp32_template
- parallel: 21
- tags:
- - ESP32_IDF
- - UT_T1_1
- - psram
- UT_003:
- extends: .unit_test_esp32_template
- parallel: 2
- tags:
- - ESP32_IDF
- - UT_T1_SDMODE
- UT_004:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T1_SPIMODE
- UT_005:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T1_SDMODE
- - psram
- UT_006:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T1_SPIMODE
- - psram
- UT_007:
- extends: .unit_test_esp32_template
- parallel: 2
- tags:
- - ESP32_IDF
- - UT_T1_1
- UT_008:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T1_GPIO
- - psram
- UT_014:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T2_RS485
- - psram
- UT_017:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - EMMC
- UT_018:
- extends: .unit_test_esp32_template
- parallel: 2
- tags:
- - ESP32_IDF
- - UT_T1_1
- - 8Mpsram
- UT_020:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - Example_SPI_Multi_device
- - psram
- UT_022:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T2_I2C
- - psram
- UT_028:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T2_1
- - psram
- UT_033:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T2_Ethernet
- - psram
- UT_034:
- extends: .unit_test_esp32_template
- parallel: 2
- tags:
- - ESP32_IDF
- - UT_T1_ESP_FLASH
- UT_035:
- extends: .unit_test_esp32s2_template
- parallel: 50
- tags:
- - ESP32S2_IDF
- - UT_T1_1
- UT_036:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T1_PSRAMV0
- - psram
- UT_038:
- extends: .unit_test_esp32s2_template
- parallel: 2
- tags:
- - ESP32S2_IDF
- - UT_T1_ESP_FLASH
- UT_041:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T1_no32kXTAL
- - psram
- UT_043:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T1_32kXTAL
- - psram
- UT_044:
- extends:
- - .unit_test_esp32_template
- - .rules:test:unit_test-esp32-sdio
- tags:
- - ESP32_IDF
- - UT_SDIO
- UT_045:
- extends:
- - .unit_test_esp32_template
- - .rules:test:unit_test-esp32-sdio
- tags:
- - ESP32_IDF
- - UT_SDIO
- - psram
- UT_046:
- extends: .unit_test_esp32_template
- tags:
- - ESP32_IDF
- - UT_T1_GPIO
- UT_047:
- extends: .unit_test_esp32s2_template
- parallel: 6
- tags:
- - ESP32S2_IDF
- - UT_T1_1
- UT_S2_SPI_DUAL:
- extends: .unit_test_esp32s2_template
- tags:
- - ESP32S2_IDF
- - Example_SPI_Multi_device
- UT_S2_SDSPI:
- extends: .unit_test_esp32s2_template
- tags:
- - ESP32S2_IDF
- - UT_T1_SPIMODE
- UT_C2:
- extends: .unit_test_esp32c2_template
- parallel: 21
- tags:
- - ESP32C2_IDF
- - UT_T1_1
- - xtal_40mhz
- UT_C2_SPI_DUAL:
- extends:
- - .unit_test_esp32c2_template
- - .rules:test:unit_test-esp32c2-spi_multi
- tags:
- - ESP32C2_IDF
- - Example_SPI_Multi_device
- - xtal_40mhz
- UT_C2_26M:
- extends: .unit_test_esp32c2_template
- tags:
- - ESP32C2_IDF
- - UT_T1_1
- - xtal_26mhz
- UT_C3:
- extends: .unit_test_esp32c3_template
- parallel: 31
- tags:
- - ESP32C3_IDF
- - UT_T1_1
- UT_C3_FLASH:
- extends: .unit_test_esp32c3_template
- parallel: 2
- tags:
- - ESP32C3_IDF
- - UT_T1_ESP_FLASH
- UT_C3_SPI_DUAL:
- extends: .unit_test_esp32c3_template
- tags:
- - ESP32C3_IDF
- - Example_SPI_Multi_device
- UT_C3_I2C:
- extends: .unit_test_esp32c3_template
- tags:
- - ESP32C3_IDF
- - UT_T2_I2C
- UT_C3_FLASH_SUSPEND:
- extends: .unit_test_esp32c3_template
- tags:
- - ESP32C3_IDF
- - UT_T1_Flash_Suspend
- UT_C3_SDSPI:
- extends: .unit_test_esp32c3_template
- tags:
- - ESP32C3_IDF
- - UT_T1_SPIMODE
- UT_S3:
- extends: .unit_test_esp32s3_template
- parallel: 29
- tags:
- - ESP32S3_IDF
- - UT_T1_1
- UT_S3_QUAD_PSRAM:
- extends: .unit_test_esp32s3_template
- parallel: 4
- tags:
- - ESP32S3_IDF
- - UT_T1_1
- - quad_psram
- UT_S3_SPI_DUAL:
- extends: .unit_test_esp32s3_template
- tags:
- - ESP32S3_IDF
- - Example_SPI_Multi_device
- UT_S3_FLASH:
- extends: .unit_test_esp32s3_template
- parallel: 2
- tags:
- - ESP32S3_IDF
- - UT_T1_ESP_FLASH
- .integration_test_template:
- extends:
- - .target_test_job_template
- - .rules:test:integration_test
- - .before_script_minimal
- image: ${CI_INTEGRATION_TEST_ENV_IMAGE}
- cache: []
- needs: # the assign already needs all the build jobs
- - assign_integration_test
- variables:
- LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
- LOG_PATH: "${CI_PROJECT_DIR}/TEST_LOGS"
- TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/auto_test_script/TestCaseFiles"
- CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/tools/ci/integration_test/test_configs"
- KNOWN_ISSUE_FILE: "${CI_PROJECT_DIR}/tools/ci/integration_test/KnownIssues"
- CI_RUNNER_SCRIPT: "${CI_PROJECT_DIR}/auto_test_script/bin/CIRunner.py"
- PREPARE_TEST_BIN_SCRIPT: "${CI_PROJECT_DIR}/tools/ci/integration_test/prepare_test_bins.py"
- PYTHONPATH: "${CI_PROJECT_DIR}/auto_test_script/packages:${CI_PROJECT_DIR}/tools/ci/python_packages:${PYTHONPATH}"
- SETUP_SCRIPT: "${CI_PROJECT_DIR}/auto_test_script/tools/ci/setup_idfci.sh"
- INITIAL_CONDITION_RETRY_COUNT: "1"
- script:
- - *define_config_file_name
- # first test if config file exists, if not exist, exit 0
- - test -e $CONFIG_FILE || exit 0
- # clone local test env configs
- - add_gitlab_ssh_keys
- - retry_failed git clone $TEST_ENV_CONFIG_REPO
- - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
- # clone test bench
- # can not retry if downing git lfs files failed, so using empty_branch first.
- - retry_failed git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} -b empty_branch
- - retry_failed git -C auto_test_script checkout -f ${CI_AUTO_TEST_SCRIPT_REPO_BRANCH}
- - python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script --customized_only
- - if [ -f ${SETUP_SCRIPT} ]; then ${SETUP_SCRIPT}; fi
- - cat ${KNOWN_ISSUE_FILE} >> ${TEST_CASE_FILE_PATH}/KnownIssues
- # run test
- - python ${PREPARE_TEST_BIN_SCRIPT} $CONFIG_FILE
- - python ${CI_RUNNER_SCRIPT} -l "$LOG_PATH/$JOB_FULL_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH
- .integration_test_esp32c3_template:
- extends:
- - .integration_test_template
- variables:
- LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32C3_IDF"
- nvs_compatible_test:
- extends: .integration_test_template
- artifacts:
- when: always
- paths:
- - $LOG_PATH
- - nvs_wifi.bin
- expire_in: 1 mos
- tags:
- - ESP32_IDF
- - NVS_Compatible
- script:
- - *define_config_file_name
- # first test if config file exists, if not exist, exit 0
- - test -e $CONFIG_FILE || exit 0
- # clone local test env configs
- - add_gitlab_ssh_keys
- - retry_failed git clone $TEST_ENV_CONFIG_REPO
- - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
- # clone test bench
- # can not retry if downing git lfs files failed, so using empty_branch first.
- - retry_failed git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} -b empty_branch
- - retry_failed git -C auto_test_script checkout -f ${CI_AUTO_TEST_SCRIPT_REPO_BRANCH}
- - if [ -f ${SETUP_SCRIPT} ]; then ${SETUP_SCRIPT}; fi
- - python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script --customized_only
- # prepare nvs bins
- - cd auto_test_script
- - ./tools/prepare_nvs_bin.sh
- # run test
- - python ${PREPARE_TEST_BIN_SCRIPT} $CONFIG_FILE
- - python ${CI_RUNNER_SCRIPT} -l "$LOG_PATH/$JOB_FULL_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH
- IT_001:
- extends: .integration_test_template
- parallel: 2
- tags:
- - ESP32_IDF
- - SSC_T1_4
- IT_002:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T1_2
- IT_003:
- extends: .integration_test_template
- parallel: 9
- tags:
- - ESP32_IDF
- - SSC_T2_5
- IT_005:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T1_5
- IT_006:
- extends: .integration_test_template
- parallel: 5
- tags:
- - ESP32_IDF
- - SSC_T1_6
- IT_007:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T1_7
- IT_008:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T1_8
- IT_011:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T1_MESH1
- IT_012:
- extends: .integration_test_template
- parallel: 2
- tags:
- - ESP32_IDF
- - SSC_T2_MESH1
- IT_013:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T3_MESH1
- IT_014:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T6_MESH1
- IT_015:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T12_MESH1
- IT_016:
- extends: .integration_test_template
- allow_failure: true
- tags:
- - ESP32_IDF
- - SSC_T50_MESH1
- IT_017:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T1_MESH2
- IT_018:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T1_9
- IT_019:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T2_2
- IT_020:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T2_3
- IT_022:
- extends: .integration_test_template
- tags:
- - ESP32_IDF
- - SSC_T3_2
- IT_C3_001:
- extends: .integration_test_esp32c3_template
- parallel: 6
- tags:
- - ESP32C3_IDF
- - SSC_T2_5
|