From b4d7879d0b62a0a7d40561e268ec1afb00bece12 Mon Sep 17 00:00:00 2001 From: Chen Yudong Date: Wed, 27 Dec 2023 22:31:37 +0800 Subject: [PATCH] ci: add dependencies to protocol exampels --- examples/protocols/.build-test-rules.yml | 196 ++++++++---------- .../captive_portal/pytest_captive_portal.py | 1 + 2 files changed, 93 insertions(+), 104 deletions(-) diff --git a/examples/protocols/.build-test-rules.yml b/examples/protocols/.build-test-rules.yml index f1ba770c6f..bd984dba60 100644 --- a/examples/protocols/.build-test-rules.yml +++ b/examples/protocols/.build-test-rules.yml @@ -1,38 +1,32 @@ # Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps -.ethernet_dependencies: ðernet_dependencies - # TODO: IDFCI-1821 +.default_dependencies: &default_dependencies depends_filepatterns: - - tools/ci/python_packages/common_test_methods.py - - components/esp_netif/esp_netif_handlers.c - -.wifi_dependencies: &wifi_dependencies - depends_filepatterns: - - tools/ci/python_packages/common_test_methods.py - examples/common_components/protocol_examples_common/**/* - - examples/protocols/**/* - - examples/wifi/**/* - - examples/network/simple_sniffer/**/* - - components/mbedtls/port/dynamic/* - - examples/system/ota/**/* depends_components: - - app_update - - esp_https_ota + - lwip + - esp_netif + - esp_wifi + - esp_phy + - esp_eth + - mbedtls examples/protocols/esp_http_client: + <<: *default_dependencies enable: - if: INCLUDE_DEFAULT == 1 or IDF_TARGET == "linux" disable_test: - if: IDF_TARGET not in ["esp32", "linux"] - temporary: true - reason: only test on esp32 disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 - <<: *ethernet_dependencies + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - components/esp_http_client/**/* examples/protocols/esp_local_ctrl: + <<: *default_dependencies disable: - if: SOC_WIFI_SUPPORTED != 1 - if: IDF_TARGET in ["esp32h2"] @@ -40,246 +34,267 @@ examples/protocols/esp_local_ctrl: reason: not supported on p4 disable_test: - if: IDF_TARGET not in ["esp32", "esp32c3", "esp32s3"] - temporary: true - reason: lack of runners - <<: *wifi_dependencies + reason: only test on these targets + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - components/protocomm/**/* + - tools/esp_prov/**/* examples/protocols/http_request: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8076 disable_test: - if: IDF_TARGET != "esp32" - temporary: true reason: only test on esp32 - <<: *ethernet_dependencies examples/protocols/http_server: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8076 disable_test: - if: IDF_TARGET not in ["esp32", "esp32c3", "esp32s3"] - temporary: true - reason: lack of runners - <<: *wifi_dependencies + reason: only test on these targets + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - components/esp_http_server/**/* examples/protocols/http_server/captive_portal: + <<: *default_dependencies disable: - if: IDF_TARGET in ["esp32h2", "esp32p4"] temporary: true reason: not supported on p4 # TODO: IDF-8076 disable_test: - if: IDF_TARGET != "esp32" - temporary: true reason: only test on esp32 - <<: *wifi_dependencies + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - components/esp_http_server/**/* examples/protocols/http_server/restful_server: + <<: *default_dependencies disable: - if: IDF_TARGET in ["esp32h2", "esp32p4"] temporary: true reason: not supported on p4 # TODO: IDF-8076 - <<: *wifi_dependencies + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - components/esp_http_server/**/* examples/protocols/http_server/ws_echo_server: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8076 disable_test: - if: IDF_TARGET != "esp32" - temporary: true reason: only test on esp32 - <<: *wifi_dependencies + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - components/esp_http_server/**/* examples/protocols/https_mbedtls: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8076 disable_test: - if: IDF_TARGET != "esp32" - temporary: true - reason: lack of runners - <<: *ethernet_dependencies + reason: only test on esp32 examples/protocols/https_request: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8076 disable_test: - if: IDF_TARGET != "esp32" - temporary: true - reason: lack of runners - <<: *ethernet_dependencies + reason: only test on esp32 examples/protocols/https_server/simple: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8076 disable_test: - if: IDF_TARGET not in ["esp32", "esp32c3", "esp32s3"] - temporary: true - reason: lack of runners - <<: *wifi_dependencies + reason: only test on these targets + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - components/esp_https_server/**/* + - components/esp_tls/**/* examples/protocols/https_server/wss_server: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8076 disable_test: - if: IDF_TARGET != "esp32" - temporary: true reason: only test on esp32 - <<: *wifi_dependencies + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - components/esp_https_server/**/* examples/protocols/https_x509_bundle: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8076 disable_test: - if: IDF_TARGET != "esp32" - temporary: true - reason: lack of runners - <<: *ethernet_dependencies + reason: only test on esp32 + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - components/esp_tls/**/* examples/protocols/icmp_echo: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 disable_test: - if: SOC_WIFI_SUPPORTED != 1 - <<: *wifi_dependencies examples/protocols/l2tap: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 disable_test: - if: IDF_TARGET != "esp32" - temporary: true - reason: lack of runners + reason: only test on esp32 examples/protocols/modbus: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-7869 + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - examples/protocols/modbus/mb_example_common/**/* + +examples/protocols/mqtt: + <<: *default_dependencies + disable: + - if: IDF_TARGET == "esp32p4" + temporary: true + reason: not supported on p4 # TODO: IDF-8077 + depends_filepatterns: + - examples/common_components/protocol_examples_common/**/* + - components/mqtt/**/* examples/protocols/mqtt/custom_outbox: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8077 examples/protocols/mqtt/ssl: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8077 disable_test: - if: IDF_TARGET != "esp32" - temporary: true - reason: lack of runners - <<: *ethernet_dependencies + reason: only test on esp32 examples/protocols/mqtt/ssl_ds: + <<: *default_dependencies disable: - if: SOC_DIG_SIGN_SUPPORTED != 1 or IDF_TARGET == "esp32p4" # TODO: IDF-8077 temporary: false reason: DS not present -examples/protocols/mqtt/ssl_mutual_auth: - disable: - - if: IDF_TARGET == "esp32p4" - temporary: true - reason: not supported on p4 # TODO: IDF-8077 - -examples/protocols/mqtt/ssl_psk: - disable: - - if: IDF_TARGET == "esp32p4" - temporary: true - reason: not supported on p4 # TODO: IDF-8077 - examples/protocols/mqtt/tcp: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8077 disable_test: - if: IDF_TARGET != "esp32" - temporary: true - reason: lack of runners - <<: *ethernet_dependencies + reason: only test on esp32 examples/protocols/mqtt/ws: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8077 disable_test: - if: IDF_TARGET != "esp32" - temporary: true - reason: lack of runners - <<: *ethernet_dependencies + reason: only test on esp32 examples/protocols/mqtt/wss: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8077 disable_test: - if: IDF_TARGET != "esp32" - temporary: true - reason: lack of runners - <<: *ethernet_dependencies + reason: only test on esp32 examples/protocols/mqtt5: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 # TODO: IDF-8077 disable_test: - if: IDF_TARGET != "esp32" - temporary: true - reason: lack of runners - <<: *ethernet_dependencies + reason: only test on esp32 examples/protocols/smtp_client: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 examples/protocols/sntp: + <<: *default_dependencies enable: - if: IDF_TARGET == "esp32" temporary: true reason: the other targets are not tested yet - <<: *wifi_dependencies examples/protocols/sockets: + <<: *default_dependencies disable: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 + disable_test: + - if: SOC_WIFI_SUPPORTED != 1 + examples/protocols/sockets/non_blocking: + <<: *default_dependencies disable_test: - if: IDF_TARGET != "esp32" temporary: true reason: lack of runners examples/protocols/sockets/tcp_client: + <<: *default_dependencies disable_test: - if: SOC_WIFI_SUPPORTED != 1 # linux target won't work with CONFIG_EXAMPLE_SOCKET_IP_INPUT_STDIN=y @@ -287,36 +302,9 @@ examples/protocols/sockets/tcp_client: - if: IDF_TARGET == "esp32p4" temporary: true reason: not supported on p4 - <<: *wifi_dependencies - -examples/protocols/sockets/tcp_server: - disable: - - if: IDF_TARGET == "esp32p4" - temporary: true - reason: not supported on p4 - disable_test: - - if: SOC_WIFI_SUPPORTED != 1 - <<: *wifi_dependencies - -examples/protocols/sockets/udp_client: - disable: - - if: IDF_TARGET == "esp32p4" - temporary: true - reason: not supported on p4 - disable_test: - - if: SOC_WIFI_SUPPORTED != 1 - <<: *wifi_dependencies - -examples/protocols/sockets/udp_server: - disable: - - if: IDF_TARGET == "esp32p4" - temporary: true - reason: not supported on p4 - disable_test: - - if: SOC_WIFI_SUPPORTED != 1 - <<: *wifi_dependencies examples/protocols/static_ip: + <<: *default_dependencies disable: - if: IDF_TARGET in ["esp32h2"] - if: IDF_TARGET == "esp32p4" diff --git a/examples/protocols/http_server/captive_portal/pytest_captive_portal.py b/examples/protocols/http_server/captive_portal/pytest_captive_portal.py index 5637f1384c..d08b20df06 100644 --- a/examples/protocols/http_server/captive_portal/pytest_captive_portal.py +++ b/examples/protocols/http_server/captive_portal/pytest_captive_portal.py @@ -70,6 +70,7 @@ def test_captive_page(ip: str, port: str, uri: str) -> bool: @pytest.mark.esp32 @pytest.mark.wifi_wlan +@pytest.mark.temp_skip_ci(targets=['esp32'], reason='unstable case') @pytest.mark.xfail(reason='Runner unable to connect to target over WiFi', run=False) def test_example_captive_portal(dut: Dut) -> None: