target-test.yml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949
  1. # for parallel jobs, CI_JOB_NAME will be "job_name index/total" (for example, "IT_001 1/2")
  2. # we need to convert to pattern "job_name_index.yml"
  3. .define_config_file_name: &define_config_file_name |
  4. JOB_NAME_PREFIX=$(echo ${CI_JOB_NAME} | awk '{print $1}')
  5. JOB_FULL_NAME="${JOB_NAME_PREFIX}_${CI_NODE_INDEX}"
  6. CONFIG_FILE="${CONFIG_FILE_PATH}/${JOB_FULL_NAME}.yml"
  7. .target_test_job_template:
  8. stage: target_test
  9. needs:
  10. - assign_test
  11. artifacts:
  12. when: always
  13. paths:
  14. - "**/*.log"
  15. - $LOG_PATH
  16. expire_in: 1 week
  17. reports:
  18. junit: $LOG_PATH/*/XUNIT_RESULT.xml
  19. variables:
  20. TEST_FW_PATH: "$CI_PROJECT_DIR/tools/tiny-test-fw"
  21. LOG_PATH: "$CI_PROJECT_DIR/TEST_LOGS"
  22. ENV_FILE: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/EnvConfig.yml"
  23. SUBMODULES_TO_FETCH: "components/esptool_py/esptool"
  24. script:
  25. - *define_config_file_name
  26. # first test if config file exists, if not exist, exit 0
  27. - |
  28. { [[ -e $CONFIG_FILE ]]; } || { echo 'No config file found. Consider decreasing the parallel count of this job in ".gitlab/ci/target-test.yml"'; exit 0; }
  29. # clone test env configs
  30. - retry_failed git clone $TEST_ENV_CONFIG_REPO
  31. - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
  32. # git clone the known failure cases repo, run test
  33. - retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
  34. # run test
  35. - cd tools/ci/python_packages/tiny_test_fw/bin
  36. - 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
  37. .example_test_template:
  38. extends: .target_test_job_template
  39. variables:
  40. TEST_CASE_PATH: "$CI_PROJECT_DIR/examples"
  41. CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/examples/test_configs"
  42. .example_debug_template:
  43. extends:
  44. - .example_test_template
  45. - .rules:test:example_test-esp32
  46. variables:
  47. SUBMODULES_TO_FETCH: "all"
  48. test_weekend_mqtt:
  49. extends:
  50. - .test_app_esp32_template
  51. - .rules:labels:weekend_test
  52. tags:
  53. - ESP32
  54. - Example_WIFI
  55. script:
  56. - export MQTT_PUBLISH_TEST=1
  57. - export TEST_PATH=$CI_PROJECT_DIR/tools/test_apps/protocols/mqtt/publish_connect_test
  58. - cd $IDF_PATH/tools/ci/python_packages/tiny_test_fw/bin
  59. - run_cmd python Runner.py $TEST_PATH -c $TEST_PATH/publish_connect_mqtt_.yml
  60. .example_test_esp32_template:
  61. extends:
  62. - .example_test_template
  63. - .rules:test:example_test-esp32
  64. .example_test_esp32s2_template:
  65. extends:
  66. - .example_test_template
  67. - .rules:test:example_test-esp32s2
  68. .example_test_esp32c3_template:
  69. extends:
  70. - .example_test_template
  71. - .rules:labels:example_test-esp32c3
  72. .example_test_esp32s3_template:
  73. extends:
  74. - .example_test_template
  75. - .rules:test:example_test-esp32s3
  76. example_test_001A:
  77. extends: .example_test_esp32_template
  78. tags:
  79. - ESP32
  80. - Example_WIFI
  81. example_test_001B:
  82. extends: .example_test_esp32_template
  83. tags:
  84. - ESP32
  85. - Example_EthKitV1
  86. example_test_001B_V3:
  87. extends: .example_test_esp32_template
  88. tags:
  89. - ESP32
  90. - Example_EthKitV12
  91. example_test_001C:
  92. extends: .example_test_esp32_template
  93. parallel: 4
  94. tags:
  95. - ESP32
  96. - Example_GENERIC
  97. example_test_001D:
  98. extends: .example_test_esp32_template
  99. tags:
  100. - ESP32
  101. - Example_8Mflash_Ethernet
  102. example_test_OTA:
  103. extends: .example_test_esp32_template
  104. parallel: 2
  105. tags:
  106. - ESP32
  107. - Example_WIFI_OTA
  108. example_test_protocols:
  109. extends: .example_test_esp32_template
  110. parallel: 2
  111. tags:
  112. - ESP32
  113. - Example_WIFI_Protocols
  114. example_test_002:
  115. extends: .example_test_esp32_template
  116. image: $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
  117. tags:
  118. - ESP32
  119. - Example_ShieldBox_Basic
  120. example_test_ethernet:
  121. extends: .example_test_esp32_template
  122. tags:
  123. - ESP32
  124. - Example_Ethernet
  125. .example_test_003:
  126. extends: .example_test_esp32_template
  127. tags:
  128. - ESP32
  129. - Example_SDIO
  130. example_test_004A:
  131. extends: .example_test_esp32_template
  132. tags:
  133. - ESP32
  134. - Example_TWAI1
  135. example_test_004B:
  136. extends: .example_test_esp32_template
  137. tags:
  138. - ESP32
  139. - Example_TWAI2
  140. example_test_005:
  141. extends: .example_test_esp32_template
  142. tags:
  143. - ESP32
  144. - Example_WIFI_BT
  145. example_test_006:
  146. extends:
  147. - .example_test_esp32_template
  148. - .rules:labels:iperf_stress_test
  149. image: $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
  150. tags:
  151. - ESP32
  152. - Example_ShieldBox
  153. example_test_007:
  154. extends: .example_test_esp32_template
  155. tags:
  156. - ESP32
  157. - Example_I2C_CCS811_SENSOR
  158. example_test_008A:
  159. extends: .example_test_esp32_template
  160. tags:
  161. - ESP32
  162. - Example_Flash_Encryption
  163. example_test_008B:
  164. extends: .example_test_esp32_template
  165. tags:
  166. - ESP32
  167. - Example_Flash_Encryption_OTA
  168. example_test_009:
  169. extends: .example_test_esp32_template
  170. tags:
  171. - ESP32
  172. - test_jtag_arm
  173. variables:
  174. SETUP_TOOLS: "1"
  175. PYTHON_VER: 3
  176. example_test_010:
  177. extends: .example_test_esp32_template
  178. tags:
  179. - ESP32
  180. - Example_ExtFlash
  181. example_test_011:
  182. extends: .example_debug_template
  183. tags:
  184. - ESP32
  185. - Example_T2_RS485
  186. variables:
  187. SETUP_TOOLS: "1"
  188. example_test_012:
  189. extends: .example_test_esp32_template
  190. tags:
  191. - ESP32
  192. - Example_RMT_IR_PROTOCOLS
  193. example_test_013:
  194. extends: .example_test_esp32_template
  195. tags:
  196. - ESP32
  197. - UT_T1_SDMODE
  198. example_test_014:
  199. extends: .example_test_esp32_template
  200. tags:
  201. - ESP32
  202. - 8Mpsram
  203. example_test_015:
  204. extends: .example_test_esp32_template
  205. tags:
  206. - ESP32
  207. - Example_PPP
  208. example_test_016:
  209. extends: .example_test_esp32_template
  210. tags:
  211. - ESP32
  212. - Example_Modbus_TCP
  213. example_test_017:
  214. extends: .example_test_esp32s2_template
  215. tags:
  216. - ESP32S2
  217. - Example_GENERIC
  218. example_test_C3_GENERIC:
  219. extends: .example_test_esp32c3_template
  220. parallel: 3
  221. tags:
  222. - ESP32C3
  223. - Example_GENERIC
  224. example_test_C3_FLASH_ENC:
  225. extends: .example_test_esp32c3_template
  226. tags:
  227. - ESP32C3
  228. - Example_Flash_Encryption
  229. example_test_C3_FLASH_ENC_OTA:
  230. extends: .example_test_esp32c3_template
  231. tags:
  232. - ESP32C3
  233. - Example_Flash_Encryption_OTA_WiFi
  234. example_test_ESP32_SDSPI:
  235. extends: .example_test_esp32_template
  236. tags:
  237. - ESP32
  238. - UT_T1_SPIMODE
  239. example_test_S3_GENERIC:
  240. extends: .example_test_esp32s3_template
  241. tags:
  242. - ESP32S3
  243. - Example_GENERIC
  244. example_test_ESP32S2_SDSPI:
  245. extends: .example_test_esp32s2_template
  246. tags:
  247. - ESP32S2
  248. - UT_T1_SPIMODE
  249. example_test_ESP32C3_SDSPI:
  250. extends: .example_test_esp32c3_template
  251. tags:
  252. - ESP32C3
  253. - UT_T1_SPIMODE
  254. .test_app_template:
  255. extends: .target_test_job_template
  256. variables:
  257. TEST_CASE_PATH: "$CI_PROJECT_DIR/tools/test_apps"
  258. CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/tools/test_apps/test_configs"
  259. .test_app_esp32_template:
  260. extends:
  261. - .test_app_template
  262. - .rules:test:custom_test-esp32
  263. .test_app_esp32s2_template:
  264. extends:
  265. - .test_app_template
  266. - .rules:test:custom_test-esp32s2
  267. .test_app_esp32c3_template:
  268. extends:
  269. - .test_app_template
  270. - .rules:test:custom_test-esp32c3
  271. .test_app_esp32s3_template:
  272. extends:
  273. - .test_app_template
  274. - .rules:test:custom_test-esp32s3
  275. test_app_test_001:
  276. extends: .test_app_esp32_template
  277. tags:
  278. - ESP32
  279. - test_jtag_arm
  280. variables:
  281. SETUP_TOOLS: "1"
  282. test_app_test_002:
  283. extends: .test_app_esp32_template
  284. tags:
  285. - ESP32
  286. - Example_WIFI
  287. test_app_test_003:
  288. extends: .test_app_esp32_template
  289. tags:
  290. - ESP32
  291. - Example_PPP
  292. test_app_test_004:
  293. extends: .test_app_esp32s2_template
  294. parallel: 2
  295. tags:
  296. - ESP32S2
  297. - Example_GENERIC
  298. test_app_test_005:
  299. extends: .test_app_esp32c3_template
  300. tags:
  301. - ESP32C3
  302. - Example_GENERIC
  303. test_app_test_esp32_generic:
  304. extends: .test_app_esp32_template
  305. parallel: 5
  306. tags:
  307. - ESP32
  308. - Example_GENERIC
  309. variables:
  310. SETUP_TOOLS: "1"
  311. test_app_test_flash_psram_f4r4:
  312. extends: .test_app_esp32s3_template
  313. tags:
  314. - ESP32S3
  315. - MSPI_F4R4
  316. test_app_test_flash_psram_f4r8:
  317. extends: .test_app_esp32s3_template
  318. tags:
  319. - ESP32S3
  320. - MSPI_F4R8
  321. test_app_test_flash_psram_f8r8:
  322. extends: .test_app_esp32s3_template
  323. tags:
  324. - ESP32S3
  325. - MSPI_F8R8
  326. .component_ut_template:
  327. extends: .target_test_job_template
  328. variables:
  329. CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/component_ut/test_configs"
  330. script:
  331. - *define_config_file_name
  332. # first test if config file exists, if not exist, exit 0
  333. - test -e $CONFIG_FILE || exit 0
  334. - set_component_ut_vars
  335. # clone test env configs
  336. - retry_failed git clone $TEST_ENV_CONFIG_REPO
  337. - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
  338. # git clone the known failure cases repo, run test
  339. - retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
  340. # run test
  341. - cd tools/ci/python_packages/tiny_test_fw/bin
  342. - run_cmd python Runner.py $COMPONENT_UT_DIRS -c $CONFIG_FILE -e $ENV_FILE --known_failure_cases_file $CI_PROJECT_DIR/known_failure_cases/known_failure_cases.txt
  343. .component_ut_esp32_template:
  344. extends:
  345. - .component_ut_template
  346. - .rules:test:component_ut-esp32
  347. .component_ut_esp32s2_template:
  348. extends:
  349. - .component_ut_template
  350. - .rules:test:component_ut-esp32s2
  351. .component_ut_esp32s3_template:
  352. extends:
  353. - .component_ut_template
  354. - .rules:test:component_ut-esp32s3
  355. .component_ut_esp32c3_template:
  356. extends:
  357. - .component_ut_template
  358. - .rules:test:component_ut-esp32c3
  359. component_ut_test_001:
  360. extends: .component_ut_esp32_template
  361. tags:
  362. - ESP32
  363. - COMPONENT_UT_GENERIC
  364. component_ut_test_esp32s2:
  365. extends: .component_ut_esp32s2_template
  366. tags:
  367. - ESP32S2
  368. - COMPONENT_UT_GENERIC
  369. component_ut_test_esp32s3:
  370. extends: .component_ut_esp32s3_template
  371. tags:
  372. - ESP32S3
  373. - COMPONENT_UT_GENERIC
  374. component_ut_test_esp32c3:
  375. extends: .component_ut_esp32c3_template
  376. tags:
  377. - ESP32C3
  378. - COMPONENT_UT_GENERIC
  379. .unit_test_template:
  380. extends: .target_test_job_template
  381. variables:
  382. TEST_CASE_PATH: "$CI_PROJECT_DIR/tools/unit-test-app"
  383. CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/components/idf_test/unit_test/CIConfigs"
  384. .unit_test_esp32_template:
  385. extends:
  386. - .unit_test_template
  387. - .rules:test:unit_test-esp32
  388. .unit_test_esp32s2_template:
  389. extends:
  390. - .unit_test_template
  391. - .rules:test:unit_test-esp32s2
  392. .unit_test_esp32s3_template:
  393. extends:
  394. - .unit_test_template
  395. - .rules:test:unit_test-esp32s3
  396. .unit_test_esp32c3_template:
  397. extends:
  398. - .unit_test_template
  399. - .rules:test:unit_test-esp32c3
  400. UT_001:
  401. extends: .unit_test_esp32_template
  402. parallel: 50
  403. tags:
  404. - ESP32_IDF
  405. - UT_T1_1
  406. # Max. allowed value of 'parallel' is 50.
  407. UT_002:
  408. extends: .unit_test_esp32_template
  409. parallel: 15
  410. tags:
  411. - ESP32_IDF
  412. - UT_T1_1
  413. - psram
  414. UT_003:
  415. extends: .unit_test_esp32_template
  416. parallel: 2
  417. tags:
  418. - ESP32_IDF
  419. - UT_T1_SDMODE
  420. UT_004:
  421. extends: .unit_test_esp32_template
  422. tags:
  423. - ESP32_IDF
  424. - UT_T1_SPIMODE
  425. UT_005:
  426. extends: .unit_test_esp32_template
  427. tags:
  428. - ESP32_IDF
  429. - UT_T1_SDMODE
  430. - psram
  431. UT_006:
  432. extends: .unit_test_esp32_template
  433. tags:
  434. - ESP32_IDF
  435. - UT_T1_SPIMODE
  436. - psram
  437. UT_007:
  438. extends: .unit_test_esp32_template
  439. parallel: 4
  440. tags:
  441. - ESP32_IDF
  442. - UT_T1_1
  443. UT_008:
  444. extends: .unit_test_esp32_template
  445. tags:
  446. - ESP32_IDF
  447. - UT_T1_GPIO
  448. - psram
  449. UT_012:
  450. extends: .unit_test_esp32_template
  451. tags:
  452. - ESP32_IDF
  453. - UT_T1_LEDC
  454. - psram
  455. UT_014:
  456. extends: .unit_test_esp32_template
  457. tags:
  458. - ESP32_IDF
  459. - UT_T2_RS485
  460. - psram
  461. UT_017:
  462. extends: .unit_test_esp32_template
  463. tags:
  464. - ESP32_IDF
  465. - EMMC
  466. UT_018:
  467. extends: .unit_test_esp32_template
  468. parallel: 2
  469. tags:
  470. - ESP32_IDF
  471. - UT_T1_1
  472. - 8Mpsram
  473. UT_020:
  474. extends: .unit_test_esp32_template
  475. tags:
  476. - ESP32_IDF
  477. - Example_SPI_Multi_device
  478. - psram
  479. UT_021:
  480. extends: .unit_test_esp32_template
  481. tags:
  482. - ESP32_IDF
  483. - psram
  484. - UT_T1_FlashEncryption
  485. UT_022:
  486. extends: .unit_test_esp32_template
  487. tags:
  488. - ESP32_IDF
  489. - UT_T2_I2C
  490. - psram
  491. UT_028:
  492. extends: .unit_test_esp32_template
  493. tags:
  494. - ESP32_IDF
  495. - UT_T2_1
  496. - psram
  497. UT_031:
  498. extends: .unit_test_esp32_template
  499. tags:
  500. - ESP32_IDF
  501. - UT_T1_FlashEncryption
  502. UT_033:
  503. extends: .unit_test_esp32_template
  504. tags:
  505. - ESP32_IDF
  506. - UT_T2_Ethernet
  507. - psram
  508. UT_034:
  509. extends: .unit_test_esp32_template
  510. parallel: 2
  511. tags:
  512. - ESP32_IDF
  513. - UT_T1_ESP_FLASH
  514. UT_035:
  515. extends: .unit_test_esp32s2_template
  516. parallel: 50
  517. tags:
  518. - ESP32S2_IDF
  519. - UT_T1_1
  520. UT_036:
  521. extends: .unit_test_esp32_template
  522. tags:
  523. - ESP32_IDF
  524. - UT_T1_PSRAMV0
  525. - psram
  526. # ToDo: re-enable this job when ESP32-S2 LEDC runner installed
  527. # UT_037:
  528. # extends: .unit_test_esp32s2_template
  529. # tags:
  530. # - ESP32S2_IDF
  531. # - UT_T1_LEDC
  532. UT_038:
  533. extends: .unit_test_esp32s2_template
  534. parallel: 2
  535. tags:
  536. - ESP32S2_IDF
  537. - UT_T1_ESP_FLASH
  538. UT_041:
  539. extends: .unit_test_esp32_template
  540. tags:
  541. - ESP32_IDF
  542. - UT_T1_no32kXTAL
  543. - psram
  544. UT_043:
  545. extends: .unit_test_esp32_template
  546. tags:
  547. - ESP32_IDF
  548. - UT_T1_32kXTAL
  549. - psram
  550. UT_044:
  551. extends: .unit_test_esp32_template
  552. tags:
  553. - ESP32_IDF
  554. - UT_SDIO
  555. UT_045:
  556. extends: .unit_test_esp32_template
  557. tags:
  558. - ESP32_IDF
  559. - UT_SDIO
  560. - psram
  561. UT_046:
  562. extends: .unit_test_esp32_template
  563. tags:
  564. - ESP32_IDF
  565. - UT_T1_GPIO
  566. UT_047:
  567. extends: .unit_test_esp32s2_template
  568. parallel: 5
  569. tags:
  570. - ESP32S2_IDF
  571. - UT_T1_1
  572. UT_S2_SPI_DUAL:
  573. extends: .unit_test_esp32s2_template
  574. tags:
  575. - ESP32S2_IDF
  576. - Example_SPI_Multi_device
  577. UT_S2_SDSPI:
  578. extends: .unit_test_esp32s2_template
  579. tags:
  580. - ESP32S2_IDF
  581. - UT_T1_SPIMODE
  582. UT_C3:
  583. extends: .unit_test_esp32c3_template
  584. parallel: 33
  585. tags:
  586. - ESP32C3_IDF
  587. - UT_T1_1
  588. UT_C3_FLASH:
  589. extends: .unit_test_esp32c3_template
  590. parallel: 2
  591. tags:
  592. - ESP32C3_IDF
  593. - UT_T1_ESP_FLASH
  594. UT_C3_SPI_DUAL:
  595. extends: .unit_test_esp32c3_template
  596. tags:
  597. - ESP32C3_IDF
  598. - Example_SPI_Multi_device
  599. UT_C3_FLASH_ENC:
  600. extends: .unit_test_esp32c3_template
  601. tags:
  602. - ESP32C3_IDF
  603. - UT_T1_FlashEncryption
  604. UT_C3_I2C:
  605. extends: .unit_test_esp32c3_template
  606. tags:
  607. - ESP32C3_IDF
  608. - UT_T2_I2C
  609. UT_C3_FLASH_SUSPEND:
  610. extends: .unit_test_esp32c3_template
  611. tags:
  612. - ESP32C3_IDF
  613. - UT_T1_Flash_Suspend
  614. UT_C3_SDSPI:
  615. extends: .unit_test_esp32c3_template
  616. tags:
  617. - ESP32C3_IDF
  618. - UT_T1_SPIMODE
  619. UT_S3:
  620. extends: .unit_test_esp32s3_template
  621. parallel: 31
  622. tags:
  623. - ESP32S3_IDF
  624. - UT_T1_1
  625. UT_S3_SPI_DUAL:
  626. extends: .unit_test_esp32s3_template
  627. tags:
  628. - ESP32S3_IDF
  629. - Example_SPI_Multi_device
  630. UT_S3_FLASH:
  631. extends: .unit_test_esp32s3_template
  632. parallel: 2
  633. tags:
  634. - ESP32S3_IDF
  635. - UT_T1_ESP_FLASH
  636. component_ut_test_ip101:
  637. extends: .component_ut_esp32_template
  638. tags:
  639. - ESP32
  640. - COMPONENT_UT_IP101
  641. component_ut_test_lan8720:
  642. extends: .component_ut_esp32_template
  643. tags:
  644. - ESP32
  645. - COMPONENT_UT_LAN8720
  646. .integration_test_template:
  647. extends:
  648. - .target_test_job_template
  649. - .rules:test:integration_test
  650. needs:
  651. - assign_test
  652. - build_ssc_esp32
  653. variables:
  654. LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
  655. LOG_PATH: "${CI_PROJECT_DIR}/TEST_LOGS"
  656. TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/auto_test_script/TestCaseFiles"
  657. MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml"
  658. CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/components/idf_test/integration_test/CIConfigs"
  659. KNOWN_ISSUE_FILE: "${CI_PROJECT_DIR}/components/idf_test/integration_test/KnownIssues"
  660. CI_RUNNER_SCRIPT: "${CI_PROJECT_DIR}/auto_test_script/bin/CIRunner.py"
  661. PYTHONPATH: ${CI_PROJECT_DIR}/auto_test_script/packages
  662. # auto_test_script only supports python 3.7.x
  663. PYTHON_VER: 3.7.7
  664. script:
  665. - *define_config_file_name
  666. # first test if config file exists, if not exist, exit 0
  667. - test -e $CONFIG_FILE || exit 0
  668. # clone local test env configs
  669. - retry_failed git clone $TEST_ENV_CONFIG_REPO
  670. - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
  671. # clone test bench
  672. # can not retry if downing git lfs files failed, so using empty_branch first.
  673. - retry_failed git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} -b empty_branch
  674. - retry_failed git -C auto_test_script checkout -f ${CI_AUTO_TEST_SCRIPT_REPO_BRANCH}
  675. - python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script --customized_only
  676. - cat ${KNOWN_ISSUE_FILE} >> ${TEST_CASE_FILE_PATH}/KnownIssues
  677. # run test
  678. - python ${CI_RUNNER_SCRIPT} -l "$LOG_PATH/$JOB_FULL_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH
  679. nvs_compatible_test:
  680. extends: .integration_test_template
  681. artifacts:
  682. when: always
  683. paths:
  684. - $LOG_PATH
  685. - nvs_wifi.bin
  686. expire_in: 1 mos
  687. tags:
  688. - ESP32_IDF
  689. - NVS_Compatible
  690. script:
  691. - *define_config_file_name
  692. # first test if config file exists, if not exist, exit 0
  693. - test -e $CONFIG_FILE || exit 0
  694. # clone local test env configs
  695. - retry_failed git clone $TEST_ENV_CONFIG_REPO
  696. - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
  697. # clone test bench
  698. # can not retry if downing git lfs files failed, so using empty_branch first.
  699. - retry_failed git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} -b empty_branch
  700. - retry_failed git -C auto_test_script checkout -f ${CI_AUTO_TEST_SCRIPT_REPO_BRANCH}
  701. - python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script --customized_only
  702. # prepare nvs bins
  703. - cd auto_test_script
  704. - ./tools/prepare_nvs_bin.sh
  705. # run test
  706. - python ${CI_RUNNER_SCRIPT} -l "$LOG_PATH/$JOB_FULL_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH
  707. IT_001:
  708. extends: .integration_test_template
  709. parallel: 3
  710. tags:
  711. - ESP32_IDF
  712. - SSC_T1_4
  713. IT_002:
  714. extends: .integration_test_template
  715. tags:
  716. - ESP32_IDF
  717. - SSC_T1_2
  718. IT_003:
  719. extends: .integration_test_template
  720. parallel: 14
  721. tags:
  722. - ESP32_IDF
  723. - SSC_T2_5
  724. IT_004:
  725. extends: .integration_test_template
  726. tags:
  727. - ESP32_IDF
  728. - SSC_T1_APC
  729. IT_005:
  730. extends: .integration_test_template
  731. parallel: 2
  732. tags:
  733. - ESP32_IDF
  734. - SSC_T1_5
  735. IT_006:
  736. extends: .integration_test_template
  737. parallel: 12
  738. tags:
  739. - ESP32_IDF
  740. - SSC_T1_6
  741. IT_007:
  742. extends: .integration_test_template
  743. parallel: 3
  744. tags:
  745. - ESP32_IDF
  746. - SSC_T1_7
  747. IT_008:
  748. extends: .integration_test_template
  749. tags:
  750. - ESP32_IDF
  751. - SSC_T1_8
  752. IT_009:
  753. extends: .integration_test_template
  754. tags:
  755. - ESP32_IDF
  756. - SSC_T1_3
  757. IT_011:
  758. extends: .integration_test_template
  759. tags:
  760. - ESP32_IDF
  761. - SSC_T1_MESH1
  762. IT_012:
  763. extends: .integration_test_template
  764. parallel: 2
  765. tags:
  766. - ESP32_IDF
  767. - SSC_T2_MESH1
  768. IT_013:
  769. extends: .integration_test_template
  770. tags:
  771. - ESP32_IDF
  772. - SSC_T3_MESH1
  773. IT_014:
  774. extends: .integration_test_template
  775. tags:
  776. - ESP32_IDF
  777. - SSC_T6_MESH1
  778. IT_015:
  779. extends: .integration_test_template
  780. tags:
  781. - ESP32_IDF
  782. - SSC_T12_MESH1
  783. IT_016:
  784. extends: .integration_test_template
  785. allow_failure: true
  786. tags:
  787. - ESP32_IDF
  788. - SSC_T50_MESH1
  789. IT_017:
  790. extends: .integration_test_template
  791. tags:
  792. - ESP32_IDF
  793. - SSC_T1_MESH2
  794. IT_018:
  795. extends: .integration_test_template
  796. tags:
  797. - ESP32_IDF
  798. - SSC_T1_9
  799. IT_019:
  800. extends: .integration_test_template
  801. parallel: 2
  802. tags:
  803. - ESP32_IDF
  804. - SSC_T2_2
  805. IT_020:
  806. extends: .integration_test_template
  807. tags:
  808. - ESP32_IDF
  809. - SSC_T2_3
  810. IT_021:
  811. extends: .integration_test_template
  812. tags:
  813. - ESP32_IDF
  814. - SSC_T2_4