forked from espressif/esp-idf
Merge branch 'ci/add_test_for_ecos_wifi_enterprise' into 'master'
CI: add C3 eco7 and C2 eco4 tests for wifi See merge request espressif/esp-idf!37759
This commit is contained in:
@@ -26,3 +26,32 @@ def test_wifi_connect_cases(case_tester: CaseTester) -> None: # type: ignore
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_connect_cases_esp32c2_xtal26m(case_tester: CaseTester) -> None:
|
||||
case_tester.run_all_cases()
|
||||
|
||||
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.wifi_two_dut
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.parametrize(
|
||||
'count, config, baud',
|
||||
[
|
||||
(2, 'esp32c2eco4_xtal26m', '74880'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_connect_cases_esp32c2eco4_xtal26m(case_tester: CaseTester) -> None:
|
||||
case_tester.run_all_cases()
|
||||
|
||||
|
||||
@pytest.mark.wifi_two_dut
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.parametrize(
|
||||
'count, config',
|
||||
[
|
||||
(2, 'esp32c3eco7'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_wifi_connect_cases_esp32c3eco7(case_tester: CaseTester) -> None:
|
||||
case_tester.run_all_cases()
|
||||
|
@@ -0,0 +1,3 @@
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
CONFIG_XTAL_FREQ_26=y
|
||||
CONFIG_ESP32C2_REV_MIN_200=y
|
@@ -0,0 +1,2 @@
|
||||
CONFIG_IDF_TARGET="esp32c3"
|
||||
CONFIG_ESP32C3_REV_MIN_101=y
|
@@ -26,3 +26,32 @@ def test_wifi_unit_test(dut: Dut) -> None:
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_unit_test_esp32c2_xtal26m(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.parametrize(
|
||||
'config, baud',
|
||||
[
|
||||
('esp32c2eco4_xtal26m', '74880'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_unit_test_esp32c2eco4_xtal26m(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'esp32c3eco7',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_wifi_unit_test_esp32c3eco7(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
@@ -0,0 +1,3 @@
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
CONFIG_XTAL_FREQ_26=y
|
||||
CONFIG_ESP32C2_REV_MIN_200=y
|
@@ -0,0 +1,2 @@
|
||||
CONFIG_IDF_TARGET="esp32c3"
|
||||
CONFIG_ESP32C3_REV_MIN_101=y
|
@@ -48,3 +48,43 @@ def test_wpa_supplicant_ut_psram(case_tester: CaseTester) -> None:
|
||||
for case in case_tester.test_menu:
|
||||
if case.attributes.get('test_env') == 'wifi_two_dut':
|
||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
||||
|
||||
|
||||
@pytest.mark.wifi_two_dut
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.parametrize(
|
||||
'count, config, baud',
|
||||
[
|
||||
(
|
||||
2,
|
||||
'esp32c2eco4_xtal26m',
|
||||
'74880',
|
||||
),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wpa_supplicant_esp32c2eco4_xtal26mhz(case_tester: CaseTester) -> None:
|
||||
for case in case_tester.test_menu:
|
||||
if case.attributes.get('test_env') == 'wifi_two_dut':
|
||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
||||
|
||||
|
||||
@pytest.mark.wifi_two_dut
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.parametrize(
|
||||
'count, config',
|
||||
[
|
||||
(
|
||||
2,
|
||||
'esp32c3eco7',
|
||||
),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_wpa_supplicant_esp32c3eco7(case_tester: CaseTester) -> None:
|
||||
for case in case_tester.test_menu:
|
||||
if case.attributes.get('test_env') == 'wifi_two_dut':
|
||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
||||
|
@@ -0,0 +1,3 @@
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
CONFIG_XTAL_FREQ_26=y
|
||||
CONFIG_ESP32C2_REV_MIN_200=y
|
@@ -0,0 +1,2 @@
|
||||
CONFIG_IDF_TARGET="esp32c3"
|
||||
CONFIG_ESP32C3_REV_MIN_101=y
|
@@ -1,4 +1,5 @@
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
CONFIG_XTAL_FREQ_26=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_CI_ADDRESS=y
|
||||
CONFIG_EXAMPLE_PEER_ADDR="${CI_PIPELINE_ID}"
|
||||
|
@@ -0,0 +1,6 @@
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
CONFIG_XTAL_FREQ_26=y
|
||||
CONFIG_ESP32C2_REV_MIN_200=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_CI_ADDRESS=y
|
||||
CONFIG_EXAMPLE_PEER_ADDR="${CI_PIPELINE_ID}"
|
12
examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c3eco7
Normal file
12
examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c3eco7
Normal file
@@ -0,0 +1,12 @@
|
||||
CONFIG_IDF_TARGET="esp32c3"
|
||||
CONFIG_ESP32C3_REV_MIN_101=y
|
||||
|
||||
#
|
||||
# BT config
|
||||
#
|
||||
CONFIG_BT_ENABLED=y
|
||||
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
|
||||
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
|
||||
CONFIG_BTDM_CTRL_MODE_BTDM=n
|
||||
CONFIG_BT_BLUEDROID_ENABLED=n
|
||||
CONFIG_BT_NIMBLE_ENABLED=y
|
@@ -0,0 +1,7 @@
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
CONFIG_XTAL_FREQ_26=y
|
||||
CONFIG_ESP32C2_REV_MIN_200=y
|
||||
|
||||
|
||||
CONFIG_EXAMPLE_USE_CI_ADDRESS=y
|
||||
CONFIG_EXAMPLE_CI_ADDRESS_OFFSET="${CI_PIPELINE_ID}"
|
@@ -0,0 +1,14 @@
|
||||
CONFIG_IDF_TARGET="esp32c3"
|
||||
CONFIG_ESP32C3_REV_MIN_101=y
|
||||
|
||||
|
||||
# MODEM SLEEP Options
|
||||
CONFIG_BT_CTRL_MODEM_SLEEP=y
|
||||
CONFIG_BT_CTRL_MODEM_SLEEP_MODE_1=y
|
||||
# Bluetooth low power clock
|
||||
CONFIG_BT_CTRL_LPCLK_SEL_MAIN_XTAL=y
|
||||
# Power up main XTAL during light sleep
|
||||
CONFIG_BT_CTRL_MAIN_XTAL_PU_DURING_LIGHT_SLEEP=y
|
||||
|
||||
# Enable power down of MAC and baseband in light sleep mode
|
||||
CONFIG_ESP_PHY_MAC_BB_PD=y
|
@@ -66,3 +66,63 @@ def test_power_save_conn_esp32c2_26mhz(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
peripheral.expect('connection established; status=0', timeout=30)
|
||||
output = peripheral.expect(pexpect.TIMEOUT, timeout=30)
|
||||
assert 'rst:' not in str(output) and 'boot:' not in str(output)
|
||||
|
||||
|
||||
# Case 2: BLE power save test for ESP32C2ECO4
|
||||
@pytest.mark.wifi_two_dut
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.parametrize(
|
||||
'config, count, app_path, baud',
|
||||
[
|
||||
(
|
||||
'esp32c2eco4_xtal26m',
|
||||
2,
|
||||
f'{os.path.join(os.path.dirname(__file__), "power_save")}|{os.path.join(os.path.dirname(__file__), "blecent")}',
|
||||
'74880',
|
||||
),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_power_save_conn_esp32c2eco4(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
peripheral = dut[0]
|
||||
central = dut[1]
|
||||
|
||||
peripheral.expect('NimBLE_BLE_PRPH: BLE Host Task Started', timeout=5)
|
||||
central.expect('NimBLE_BLE_CENT: BLE Host Task Started', timeout=5)
|
||||
peripheral.expect('Returned from app_main()', timeout=5)
|
||||
central.expect('Returned from app_main()', timeout=5)
|
||||
central.expect('Connection established', timeout=30)
|
||||
peripheral.expect('connection established; status=0', timeout=30)
|
||||
output = peripheral.expect(pexpect.TIMEOUT, timeout=30)
|
||||
assert 'rst:' not in str(output) and 'boot:' not in str(output)
|
||||
|
||||
|
||||
# Case 2: BLE power save test for ESP32C3ECO7
|
||||
@pytest.mark.wifi_two_dut
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.parametrize(
|
||||
'config, count, app_path',
|
||||
[
|
||||
(
|
||||
'esp32c3eco7',
|
||||
2,
|
||||
f'{os.path.join(os.path.dirname(__file__), "power_save")}|{os.path.join(os.path.dirname(__file__), "blecent")}',
|
||||
),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_power_save_conn_esp32c3eco7(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
peripheral = dut[0]
|
||||
central = dut[1]
|
||||
|
||||
peripheral.expect('NimBLE_BLE_PRPH: BLE Host Task Started', timeout=5)
|
||||
central.expect('NimBLE_BLE_CENT: BLE Host Task Started', timeout=5)
|
||||
peripheral.expect('Returned from app_main()', timeout=5)
|
||||
central.expect('Returned from app_main()', timeout=5)
|
||||
central.expect('Connection established', timeout=30)
|
||||
peripheral.expect('connection established; status=0', timeout=30)
|
||||
output = peripheral.expect(pexpect.TIMEOUT, timeout=30)
|
||||
assert 'rst:' not in str(output) and 'boot:' not in str(output)
|
||||
|
@@ -78,3 +78,65 @@ def test_wifi_getting_started_esp32c2_xtal_26mhz(dut: Tuple[IdfDut, IdfDut]) ->
|
||||
station.expect(f'{tag}: got ip:', timeout=60)
|
||||
station.expect(f'{tag}: connected to ap SSID:{ssid} password:{password}', timeout=60)
|
||||
softap.expect('station .+ join, AID=', timeout=60)
|
||||
|
||||
|
||||
@pytest.mark.wifi_two_dut
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.parametrize(
|
||||
'count, config, baud, app_path',
|
||||
[
|
||||
(
|
||||
2,
|
||||
'esp32c2eco4_xtal26m',
|
||||
'74880',
|
||||
f'{os.path.join(os.path.dirname(__file__), "softAP")}|{os.path.join(os.path.dirname(__file__), "station")}',
|
||||
),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_getting_started_esp32c2eco4_xtal_26mhz(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
softap = dut[0]
|
||||
station = dut[1]
|
||||
|
||||
assert station.app.sdkconfig['ESP_WIFI_SOFTAP_SUPPORT'] is False
|
||||
ssid = softap.app.sdkconfig.get('ESP_WIFI_SSID')
|
||||
password = softap.app.sdkconfig.get('ESP_WIFI_PASSWORD')
|
||||
assert station.app.sdkconfig.get('ESP_WIFI_SSID') == ssid
|
||||
assert station.app.sdkconfig.get('ESP_WIFI_PASSWORD') == password
|
||||
|
||||
tag = 'wifi station'
|
||||
station.expect(f'{tag}: got ip:', timeout=60)
|
||||
station.expect(f'{tag}: connected to ap SSID:{ssid} password:{password}', timeout=60)
|
||||
softap.expect('station .+ join, AID=', timeout=60)
|
||||
|
||||
|
||||
@pytest.mark.wifi_two_dut
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.parametrize(
|
||||
'count, config, app_path',
|
||||
[
|
||||
(
|
||||
2,
|
||||
'esp32c3eco7',
|
||||
f'{os.path.join(os.path.dirname(__file__), "softAP")}|{os.path.join(os.path.dirname(__file__), "station")}',
|
||||
),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_wifi_getting_started_esp32c3eco7(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
softap = dut[0]
|
||||
station = dut[1]
|
||||
|
||||
assert station.app.sdkconfig['ESP_WIFI_SOFTAP_SUPPORT'] is False
|
||||
ssid = softap.app.sdkconfig.get('ESP_WIFI_SSID')
|
||||
password = softap.app.sdkconfig.get('ESP_WIFI_PASSWORD')
|
||||
assert station.app.sdkconfig.get('ESP_WIFI_SSID') == ssid
|
||||
assert station.app.sdkconfig.get('ESP_WIFI_PASSWORD') == password
|
||||
|
||||
tag = 'wifi station'
|
||||
station.expect(f'{tag}: got ip:', timeout=60)
|
||||
station.expect(f'{tag}: connected to ap SSID:{ssid} password:{password}', timeout=60)
|
||||
softap.expect('station .+ join, AID=', timeout=60)
|
||||
|
2
examples/wifi/getting_started/softAP/sdkconfig.ci.c3eco7
Normal file
2
examples/wifi/getting_started/softAP/sdkconfig.ci.c3eco7
Normal file
@@ -0,0 +1,2 @@
|
||||
CONFIG_IDF_TARGET="esp32c3"
|
||||
CONFIG_ESP32C3_REV_MIN_101=y
|
@@ -0,0 +1,3 @@
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
CONFIG_XTAL_FREQ_26=y
|
||||
CONFIG_ESP32C2_REV_MIN_200=y
|
@@ -0,0 +1,2 @@
|
||||
CONFIG_IDF_TARGET="esp32c3"
|
||||
CONFIG_ESP32C3_REV_MIN_101=y
|
@@ -0,0 +1,3 @@
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
CONFIG_XTAL_FREQ_26=y
|
||||
CONFIG_ESP32C2_REV_MIN_200=y
|
@@ -76,3 +76,32 @@ def test_wifi_power_save_pd_top(dut: Dut) -> None:
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_power_save_esp32c2_26mhz(dut: Dut) -> None:
|
||||
_run_test(dut)
|
||||
|
||||
|
||||
@pytest.mark.wifi_ap
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.parametrize(
|
||||
'config, baud',
|
||||
[
|
||||
('c2eco4_xtal26m', '74880'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_power_save_esp32c2eco4_26mhz(dut: Dut) -> None:
|
||||
_run_test(dut)
|
||||
|
||||
|
||||
@pytest.mark.wifi_ap
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'c3eco7',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_wifi_power_save_esp32c3eco7(dut: Dut) -> None:
|
||||
_run_test(dut)
|
||||
|
4
examples/wifi/power_save/sdkconfig.ci.c2eco4_xtal26m
Normal file
4
examples/wifi/power_save/sdkconfig.ci.c2eco4_xtal26m
Normal file
@@ -0,0 +1,4 @@
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
CONFIG_XTAL_FREQ_26=y
|
||||
CONFIG_EXAMPLE_GET_AP_INFO_FROM_STDIN=y
|
||||
CONFIG_ESP32C2_REV_MIN_200=y
|
3
examples/wifi/power_save/sdkconfig.ci.c3eco7
Normal file
3
examples/wifi/power_save/sdkconfig.ci.c3eco7
Normal file
@@ -0,0 +1,3 @@
|
||||
CONFIG_IDF_TARGET="esp32c3"
|
||||
CONFIG_ESP32C3_REV_MIN_101=y
|
||||
CONFIG_EXAMPLE_GET_AP_INFO_FROM_STDIN=y
|
@@ -140,6 +140,8 @@ ENV_MARKERS = {
|
||||
'twai_std': 'twai runner with all twai supported targets connect to usb-can adapter',
|
||||
'lp_i2s': 'lp_i2s runner tested with hp_i2s',
|
||||
'ram_app': 'ram_app runners',
|
||||
'esp32c3eco7': 'esp32c3 major version(v1.1) chips',
|
||||
'esp32c2eco4': 'esp32c2 major version(v2.0) chips',
|
||||
}
|
||||
|
||||
# by default the timeout is 1h, for some special cases we need to extend it
|
||||
|
@@ -187,3 +187,56 @@ def test_phy_tsens_coexist_c2_xtal26m(dut: Tuple[Dut, Dut]) -> None:
|
||||
_dut.expect('boot:')
|
||||
_dut.expect('esp>')
|
||||
run_phy_tsens_test_with_light_sleep(dut)
|
||||
|
||||
|
||||
@pytest.mark.wifi_two_dut
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.parametrize(
|
||||
'count, config, baud',
|
||||
[
|
||||
(2, 'c2_eco4', '74880'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_phy_tsens_coexist_c2eco4_xtal26m(dut: Tuple[Dut, Dut]) -> None:
|
||||
for _dut in dut:
|
||||
_dut.expect('esp>')
|
||||
run_phy_tsens_test(dut)
|
||||
for _dut in dut:
|
||||
_dut.write('restart')
|
||||
_dut.expect('boot:')
|
||||
_dut.expect('esp>')
|
||||
run_phy_tsens_test_init_wifi_first(dut)
|
||||
for _dut in dut:
|
||||
_dut.write('restart')
|
||||
_dut.expect('boot:')
|
||||
_dut.expect('esp>')
|
||||
run_phy_tsens_test_with_light_sleep(dut)
|
||||
|
||||
|
||||
@pytest.mark.wifi_two_dut
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.parametrize(
|
||||
'count, config',
|
||||
[
|
||||
(2, 'c3_eco7'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_phy_tsens_coexist_c3eco7(dut: Tuple[Dut, Dut]) -> None:
|
||||
for _dut in dut:
|
||||
_dut.expect('esp>')
|
||||
run_phy_tsens_test(dut)
|
||||
for _dut in dut:
|
||||
_dut.write('restart')
|
||||
_dut.expect('boot:')
|
||||
_dut.expect('esp>')
|
||||
run_phy_tsens_test_init_wifi_first(dut)
|
||||
for _dut in dut:
|
||||
_dut.write('restart')
|
||||
_dut.expect('boot:')
|
||||
_dut.expect('esp>')
|
||||
run_phy_tsens_test_with_light_sleep(dut)
|
||||
|
@@ -1,2 +1,3 @@
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
CONFIG_ESP32C2_REV_MIN_200=y
|
||||
CONFIG_XTAL_FREQ_26=y
|
||||
|
Reference in New Issue
Block a user