forked from espressif/esp-idf
ci: Enabled https_request example pytest with config esp32c2_rom_mbedtls
This commit is contained in:
@@ -96,8 +96,8 @@ examples/protocols/https_request:
|
|||||||
temporary: true
|
temporary: true
|
||||||
reason: not supported on h2
|
reason: not supported on h2
|
||||||
disable_test:
|
disable_test:
|
||||||
- if: IDF_TARGET != "esp32"
|
- if: IDF_TARGET not in ["esp32", "esp32c2"]
|
||||||
reason: only test on esp32
|
reason: only test on these target
|
||||||
|
|
||||||
examples/protocols/https_server/simple:
|
examples/protocols/https_server/simple:
|
||||||
<<: *default_dependencies
|
<<: *default_dependencies
|
||||||
|
@@ -10,6 +10,7 @@ from typing import Callable
|
|||||||
|
|
||||||
import pexpect
|
import pexpect
|
||||||
import pytest
|
import pytest
|
||||||
|
from common_test_methods import get_env_config_variable
|
||||||
from common_test_methods import get_host_ip4_by_dest_ip
|
from common_test_methods import get_host_ip4_by_dest_ip
|
||||||
from pytest_embedded import Dut
|
from pytest_embedded import Dut
|
||||||
from RangeHTTPServer import RangeRequestHandler
|
from RangeHTTPServer import RangeRequestHandler
|
||||||
@@ -236,3 +237,95 @@ def test_examples_protocol_https_request(dut: Dut) -> None:
|
|||||||
logging.info("Failed the test for \"https_request using server unsupported ciphersuites\"")
|
logging.info("Failed the test for \"https_request using server unsupported ciphersuites\"")
|
||||||
raise
|
raise
|
||||||
logging.info("Passed the test for \"https_request using server unsupported ciphersuites\"")
|
logging.info("Passed the test for \"https_request using server unsupported ciphersuites\"")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.esp32c2
|
||||||
|
@pytest.mark.wifi_ap
|
||||||
|
@pytest.mark.xtal_26mhz
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
'config, baud', [
|
||||||
|
('esp32c2_rom_mbedtls', '74880'),
|
||||||
|
], indirect=True
|
||||||
|
)
|
||||||
|
def test_examples_protocol_https_request_rom_impl(dut: Dut) -> None:
|
||||||
|
# Connect to AP
|
||||||
|
if dut.app.sdkconfig.get('EXAMPLE_WIFI_SSID_PWD_FROM_STDIN') is True:
|
||||||
|
dut.expect('Please input ssid password:')
|
||||||
|
env_name = 'wifi_ap'
|
||||||
|
ap_ssid = get_env_config_variable(env_name, 'ap_ssid')
|
||||||
|
ap_password = get_env_config_variable(env_name, 'ap_password')
|
||||||
|
dut.write(f'{ap_ssid} {ap_password}')
|
||||||
|
# check and log bin size
|
||||||
|
binary_file = os.path.join(dut.app.binary_path, 'https_request.bin')
|
||||||
|
bin_size = os.path.getsize(binary_file)
|
||||||
|
logging.info('https_request_bin_size : {}KB'.format(bin_size // 1024))
|
||||||
|
logging.info('Starting https_request simple test app')
|
||||||
|
|
||||||
|
try:
|
||||||
|
ip_address = dut.expect(r'IPv4 address: (\d+\.\d+\.\d+\.\d+)[^\d]', timeout=60)[1].decode()
|
||||||
|
print('Connected to AP/Ethernet with IP: {}'.format(ip_address))
|
||||||
|
except pexpect.exceptions.TIMEOUT:
|
||||||
|
raise ValueError('ENV_TEST_FAILURE: Cannot connect to AP/Ethernet')
|
||||||
|
|
||||||
|
# Check for connection using crt bundle
|
||||||
|
logging.info("Testing for \"https_request using crt bundle\"")
|
||||||
|
try:
|
||||||
|
dut.expect('https_request using crt bundle', timeout=30)
|
||||||
|
dut.expect(['Certificate validated',
|
||||||
|
'Connection established...',
|
||||||
|
'Reading HTTP response...',
|
||||||
|
'HTTP/1.1 200 OK',
|
||||||
|
'connection closed'], expect_all=True)
|
||||||
|
except Exception:
|
||||||
|
logging.info("Failed the test for \"https_request using crt bundle\"")
|
||||||
|
raise
|
||||||
|
logging.info("Passed the test for \"https_request using crt bundle\"")
|
||||||
|
|
||||||
|
# Check for connection using cacert_buf
|
||||||
|
logging.info("Testing for \"https_request using cacert_buf\"")
|
||||||
|
try:
|
||||||
|
dut.expect('https_request using cacert_buf', timeout=20)
|
||||||
|
dut.expect(['Connection established...',
|
||||||
|
'Reading HTTP response...',
|
||||||
|
'HTTP/1.1 200 OK',
|
||||||
|
'connection closed'], expect_all=True)
|
||||||
|
except Exception:
|
||||||
|
logging.info("Passed the test for \"https_request using cacert_buf\"")
|
||||||
|
raise
|
||||||
|
logging.info("Passed the test for \"https_request using cacert_buf\"")
|
||||||
|
|
||||||
|
# Check for connection using global ca_store
|
||||||
|
logging.info("Testing for \"https_request using global ca_store\"")
|
||||||
|
try:
|
||||||
|
dut.expect('https_request using global ca_store', timeout=20)
|
||||||
|
dut.expect(['Connection established...',
|
||||||
|
'Reading HTTP response...',
|
||||||
|
'HTTP/1.1 200 OK',
|
||||||
|
'connection closed'], expect_all=True)
|
||||||
|
except Exception:
|
||||||
|
logging.info("Failed the test for \"https_request using global ca_store\"")
|
||||||
|
raise
|
||||||
|
logging.info("Passed the test for \"https_request using global ca_store\"")
|
||||||
|
|
||||||
|
# Check for connection using specified server supported ciphersuites
|
||||||
|
logging.info("Testing for \"https_request using server supported ciphersuites\"")
|
||||||
|
try:
|
||||||
|
dut.expect('https_request using server supported ciphersuites', timeout=20)
|
||||||
|
dut.expect(['Connection established...',
|
||||||
|
'Reading HTTP response...',
|
||||||
|
'HTTP/1.1 200 OK',
|
||||||
|
'connection closed'], expect_all=True)
|
||||||
|
except Exception:
|
||||||
|
logging.info("Failed the test for \"https_request using server supported ciphersuites\"")
|
||||||
|
raise
|
||||||
|
logging.info("Passed the test for \"https_request using server supported ciphersuites\"")
|
||||||
|
|
||||||
|
# Check for connection using specified server unsupported ciphersuites
|
||||||
|
logging.info("Testing for \"https_request using server unsupported ciphersuites\"")
|
||||||
|
try:
|
||||||
|
dut.expect('https_request using server unsupported ciphersuites', timeout=20)
|
||||||
|
dut.expect('Connection failed...', timeout=30)
|
||||||
|
except Exception:
|
||||||
|
logging.info("Failed the test for \"https_request using server unsupported ciphersuites\"")
|
||||||
|
raise
|
||||||
|
logging.info("Passed the test for \"https_request using server unsupported ciphersuites\"")
|
||||||
|
@@ -0,0 +1,5 @@
|
|||||||
|
CONFIG_IDF_TARGET="esp32c2"
|
||||||
|
CONFIG_XTAL_FREQ_26=y
|
||||||
|
CONFIG_EXAMPLE_CONNECT_WIFI=y
|
||||||
|
CONFIG_EXAMPLE_WIFI_SSID_PWD_FROM_STDIN=y
|
||||||
|
CONFIG_MBEDTLS_USE_CRYPTO_ROM_IMPL=y
|
Reference in New Issue
Block a user