Explorar o código

Merge branch 'feature/coap_examples_test' into 'master'

example: Add coap_client example_test

See merge request espressif/esp-idf!19470
Mahavir Jain %!s(int64=3) %!d(string=hai) anos
pai
achega
4d14c2ef2d

+ 3 - 4
examples/protocols/.build-test-rules.yml

@@ -53,10 +53,9 @@ examples/protocols/asio/udp_echo_server:
       reason: lack of runners
 
 examples/protocols/coap_client:
-  disable:
-    - if: IDF_TARGET == "esp32c2"
-      temporary: true
-      reason: target esp32c2 is not supported yet
+  disable_test:
+    - if: IDF_TARGET != "esp32"
+      reason: running this test on single platform is sufficient for coverage
 
 examples/protocols/coap_server:
   disable:

+ 2 - 2
examples/protocols/coap_client/README.md

@@ -1,5 +1,5 @@
-| Supported Targets | ESP32 | ESP32-C3 | ESP32-S2 | ESP32-S3 |
-| ----------------- | ----- | -------- | -------- | -------- |
+| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 |
+| ----------------- | ----- | -------- | -------- | -------- | -------- |
 
 
 # CoAP client example

+ 21 - 0
examples/protocols/coap_client/pytest_coap_client_example.py

@@ -0,0 +1,21 @@
+# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
+# SPDX-License-Identifier: Unlicense OR CC0-1.0
+import pexpect
+import pytest
+from pytest_embedded import Dut
+
+
+@pytest.mark.esp32
+@pytest.mark.ethernet
+def test_coap_example(dut: Dut) -> None:
+    dut.expect('Loaded app from partition at offset', timeout=30)
+    try:
+        dut.expect(r'IPv4 address: (\d+\.\d+\.\d+\.\d+)[^\d]', timeout=30)
+    except pexpect.exceptions.TIMEOUT:
+        raise ValueError('ENV_TEST_FAILURE: Cannot connect to AP/Ethernet')
+
+    dut.expect('DNS lookup succeeded', timeout=30)
+    dut.expect('Received', timeout=30)
+    dut.expect(r'This server is using the Eclipse Californium \(Cf\) CoAP framework', timeout=30)
+    dut.expect(r'published under EPL\+EDL: http://www\.eclipse\.org/californium/', timeout=30)
+    dut.expect('Starting again!', timeout=30)

+ 8 - 0
examples/protocols/coap_client/sdkconfig.ci

@@ -0,0 +1,8 @@
+CONFIG_EXAMPLE_CONNECT_ETHERNET=y
+CONFIG_EXAMPLE_CONNECT_WIFI=n
+CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=y
+CONFIG_EXAMPLE_ETH_PHY_IP101=y
+CONFIG_EXAMPLE_ETH_MDC_GPIO=23
+CONFIG_EXAMPLE_ETH_MDIO_GPIO=18
+CONFIG_EXAMPLE_ETH_PHY_RST_GPIO=5
+CONFIG_EXAMPLE_ETH_PHY_ADDR=1