mirror of
https://github.com/espressif/esp-idf.git
synced 2026-08-11 17:52:00 +03:00
ci: rename eco tags to revision
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -23,12 +23,7 @@
|
||||
- [Grammar](#grammar)
|
||||
- [Special Rules](#special-rules)
|
||||
- [Upload/Download Artifacts to Internal Minio Server](#uploaddownload-artifacts-to-internal-minio-server)
|
||||
- [Users Without Access to Minio](#users-without-access-to-minio)
|
||||
- [Users With Access to Minio](#users-with-access-to-minio)
|
||||
- [Env Vars for Minio](#env-vars-for-minio)
|
||||
- [Artifacts Types and File Patterns](#artifacts-types-and-file-patterns)
|
||||
- [Upload](#upload)
|
||||
- [Download](#download)
|
||||
- [Revision Marker Naming Rules](#revision-marker-naming-rules)
|
||||
|
||||
## General Workflow
|
||||
|
||||
|
||||
@@ -35,8 +35,8 @@ def test_adc_esp32c2_xtal_26mhz(dut: Dut) -> None:
|
||||
# TODO: IDF-15005
|
||||
# P4 REV2 adc
|
||||
@pytest.mark.adc
|
||||
@pytest.mark.esp32p4_eco4
|
||||
@pytest.mark.parametrize('config', ['esp32p4_eco4'], indirect=True)
|
||||
@pytest.mark.esp32p4_rev1
|
||||
@pytest.mark.parametrize('config', ['esp32p4_rev1'], indirect=True)
|
||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration # TODO: IDF-14357')
|
||||
@idf_parametrize(
|
||||
'target',
|
||||
|
||||
@@ -27,30 +27,30 @@ def test_external_coex_unit_test_esp32c2_xtal26m(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.esp32c2_rev2
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.parametrize(
|
||||
'config, baud',
|
||||
[
|
||||
('esp32c2eco4_xtal26m', '74880'),
|
||||
('esp32c2_rev2_xtal26m', '74880'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_external_coex_unit_test_esp32c2eco4_xtal26m(dut: Dut) -> None:
|
||||
def test_external_coex_unit_test_esp32c2_rev2_xtal26m(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.esp32c3_rev1
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'esp32c3eco7',
|
||||
'esp32c3_rev1',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_external_coex_unit_test_esp32c3eco7(dut: Dut) -> None:
|
||||
def test_external_coex_unit_test_esp32c3_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
@@ -36,7 +36,7 @@ def test_gptimer_esp32c5(dut: Dut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -45,7 +45,7 @@ def test_gptimer_esp32c5(dut: Dut) -> None:
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_gptimer_esp32c5_eco3(dut: Dut) -> None:
|
||||
def test_gptimer_esp32c5_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ def test_i2s_esp32c5(dut: Dut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -54,7 +54,7 @@ def test_i2s_esp32c5(dut: Dut) -> None:
|
||||
['esp32c5'],
|
||||
indirect=['target'],
|
||||
)
|
||||
def test_i2s_esp32c5_eco3(dut: Dut) -> None:
|
||||
def test_i2s_esp32c5_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
|
||||
|
||||
@@ -22,11 +22,11 @@ def test_isp(dut: Dut) -> None:
|
||||
|
||||
# TODO: IDF-15006
|
||||
# @pytest.mark.generic
|
||||
# @pytest.mark.esp32p4_eco4
|
||||
# @pytest.mark.esp32p4_rev1
|
||||
# @pytest.mark.parametrize(
|
||||
# 'config',
|
||||
# [
|
||||
# ('esp32p4_eco4'),
|
||||
# ('esp32p4_rev1'),
|
||||
# ],
|
||||
# indirect=True,
|
||||
# )
|
||||
|
||||
@@ -38,7 +38,7 @@ def test_ledc_esp32c5(dut: IdfDut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -47,7 +47,7 @@ def test_ledc_esp32c5(dut: IdfDut) -> None:
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_ledc_esp32c5_eco3(dut: IdfDut) -> None:
|
||||
def test_ledc_esp32c5_rev1(dut: IdfDut) -> None:
|
||||
dut.run_all_single_board_cases(reset=True)
|
||||
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ def test_mcpwm_esp32c5(dut: Dut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -43,5 +43,5 @@ def test_mcpwm_esp32c5(dut: Dut) -> None:
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_mcpwm_esp32c5_eco3(dut: Dut) -> None:
|
||||
def test_mcpwm_esp32c5_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
@@ -34,7 +34,7 @@ def test_parlio_esp32c5(dut: Dut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -43,5 +43,5 @@ def test_parlio_esp32c5(dut: Dut) -> None:
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_parlio_esp32c5_eco3(dut: Dut) -> None:
|
||||
def test_parlio_esp32c5_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
@@ -34,7 +34,7 @@ def test_rmt_esp32c5(dut: Dut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -43,7 +43,7 @@ def test_rmt_esp32c5(dut: Dut) -> None:
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_rmt_esp32c5_eco3(dut: Dut) -> None:
|
||||
def test_rmt_esp32c5_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@ def test_sdm_esp32c5(dut: IdfDut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize('config', ['release'], indirect=True)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_sdm_esp32c5_eco3(dut: IdfDut) -> None:
|
||||
def test_sdm_esp32c5_rev1(dut: IdfDut) -> None:
|
||||
dut.run_all_single_board_cases(group='sdm')
|
||||
|
||||
@@ -42,7 +42,7 @@ def test_master_single_dev_esp32c5(case_tester) -> None: # type: ignore
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -51,7 +51,7 @@ def test_master_single_dev_esp32c5(case_tester) -> None: # type: ignore
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_master_single_dev_esp32c5_eco3(case_tester) -> None: # type: ignore
|
||||
def test_master_single_dev_esp32c5_rev1(case_tester) -> None: # type: ignore
|
||||
for case in case_tester.test_menu:
|
||||
if 'test_env' in case.attributes:
|
||||
continue # If `test_env` is defined, should not run on generic runner
|
||||
|
||||
@@ -23,10 +23,10 @@ def test_slave_single_dev_esp32c5(case_tester) -> None: # type: ignore
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize('config', ['release'], indirect=True)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_slave_single_dev_esp32c5_eco3(case_tester) -> None: # type: ignore
|
||||
def test_slave_single_dev_esp32c5_rev1(case_tester) -> None: # type: ignore
|
||||
case_tester.run_all_normal_cases(reset=True)
|
||||
|
||||
|
||||
|
||||
@@ -19,10 +19,10 @@ def test_slave_hd_single_dev(case_tester) -> None: # type: ignore
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize('config', ['release'], indirect=True)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_slave_hd_single_dev_esp32c5_eco3(case_tester) -> None: # type: ignore
|
||||
def test_slave_hd_single_dev_esp32c5_rev1(case_tester) -> None: # type: ignore
|
||||
case_tester.run_all_normal_cases(reset=True, timeout=180)
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ def test_temperature_sensor_driver(dut: Dut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -37,7 +37,7 @@ def test_temperature_sensor_driver(dut: Dut) -> None:
|
||||
['esp32c5'],
|
||||
indirect=['target'],
|
||||
)
|
||||
def test_temperature_sensor_driver_esp32c5_eco3(dut: Dut) -> None:
|
||||
def test_temperature_sensor_driver_esp32c5_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
|
||||
|
||||
@@ -25,10 +25,10 @@ def test_driver_twai_loopbk(dut: Dut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@pytest.mark.parametrize('config', ['release', 'cache_safe'], indirect=True)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_driver_twai_loopbk_c5eco3(dut: Dut) -> None:
|
||||
def test_driver_twai_loopbk_esp32c5_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases(group='twai', reset=True)
|
||||
|
||||
|
||||
|
||||
@@ -293,7 +293,7 @@ def test_esp_eth_ip101(dut: IdfDut) -> None:
|
||||
'config, target',
|
||||
[
|
||||
pytest.param('default_ip101_esp32p4', 'esp32p4', marks=[pytest.mark.eth_ip101]),
|
||||
pytest.param('default_ip101_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_eco4]),
|
||||
pytest.param('default_ip101_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_rev1]),
|
||||
],
|
||||
indirect=['target'],
|
||||
)
|
||||
@@ -307,7 +307,7 @@ def test_esp32p4_ethernet(dut: IdfDut) -> None:
|
||||
'config, target',
|
||||
[
|
||||
pytest.param('default_ip101_esp32p4', 'esp32p4', marks=[pytest.mark.eth_ip101]),
|
||||
pytest.param('default_ip101_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_eco4]),
|
||||
pytest.param('default_ip101_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_rev1]),
|
||||
],
|
||||
indirect=['target'],
|
||||
)
|
||||
@@ -321,7 +321,7 @@ def test_esp32p4_emac(dut: IdfDut) -> None:
|
||||
'config, target',
|
||||
[
|
||||
pytest.param('rmii_clko_esp32p4', 'esp32p4', marks=[pytest.mark.eth_ip101]),
|
||||
pytest.param('rmii_clko_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_eco4]),
|
||||
pytest.param('rmii_clko_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_rev1]),
|
||||
],
|
||||
indirect=['target'],
|
||||
)
|
||||
|
||||
@@ -27,11 +27,11 @@ def test_esp_hw_support_esp32c5(dut: Dut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@idf_parametrize(
|
||||
'config,target',
|
||||
[('release', 'esp32c5')],
|
||||
indirect=['config', 'target'],
|
||||
)
|
||||
def test_esp_hw_support_esp32c5_eco3(dut: Dut) -> None:
|
||||
def test_esp_hw_support_esp32c5_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases(timeout=180)
|
||||
|
||||
@@ -41,7 +41,7 @@ def test_esp_system_esp32c5(dut: Dut) -> None:
|
||||
|
||||
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.esp32c5_eco3
|
||||
@pytest.mark.esp32c5_rev1
|
||||
@idf_parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -51,7 +51,7 @@ def test_esp_system_esp32c5(dut: Dut) -> None:
|
||||
indirect=['config'],
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c5'], indirect=['target'])
|
||||
def test_esp_system_esp32c5_eco3(dut: Dut) -> None:
|
||||
def test_esp_system_esp32c5_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases(timeout=60)
|
||||
|
||||
|
||||
|
||||
@@ -28,30 +28,30 @@ def test_wifi_connect_cases_esp32c2_xtal26m(case_tester: CaseTester) -> None:
|
||||
case_tester.run_all_cases()
|
||||
|
||||
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.esp32c2_rev2
|
||||
@pytest.mark.two_duts
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.parametrize(
|
||||
'count, config, baud',
|
||||
[
|
||||
(2, 'esp32c2eco4_xtal26m', '74880'),
|
||||
(2, 'esp32c2_rev2_xtal26m', '74880'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_connect_cases_esp32c2eco4_xtal26m(case_tester: CaseTester) -> None:
|
||||
def test_wifi_connect_cases_esp32c2_rev2_xtal26m(case_tester: CaseTester) -> None:
|
||||
case_tester.run_all_cases()
|
||||
|
||||
|
||||
@pytest.mark.two_duts
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.esp32c3_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'count, config',
|
||||
[
|
||||
(2, 'esp32c3eco7'),
|
||||
(2, 'esp32c3_rev1'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_wifi_connect_cases_esp32c3eco7(case_tester: CaseTester) -> None:
|
||||
def test_wifi_connect_cases_esp32c3_rev1(case_tester: CaseTester) -> None:
|
||||
case_tester.run_all_cases()
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
import pytest
|
||||
from pytest_embedded import Dut
|
||||
from pytest_embedded_idf.utils import idf_parametrize
|
||||
|
||||
# @pytest.mark.esp32c2 # esp32c2 are using xtal_26mhz
|
||||
|
||||
|
||||
@@ -28,30 +29,30 @@ def test_wifi_unit_test_esp32c2_xtal26m(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.esp32c2_rev2
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.parametrize(
|
||||
'config, baud',
|
||||
[
|
||||
('esp32c2eco4_xtal26m', '74880'),
|
||||
('esp32c2_rev2_xtal26m', '74880'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_unit_test_esp32c2eco4_xtal26m(dut: Dut) -> None:
|
||||
def test_wifi_unit_test_esp32c2_rev2_xtal26m(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.esp32c3_rev1
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'esp32c3eco7',
|
||||
'esp32c3_rev1',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_wifi_unit_test_esp32c3eco7(dut: Dut) -> None:
|
||||
def test_wifi_unit_test_esp32c3_rev1(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
|
||||
@@ -55,40 +55,40 @@ def test_wpa_supplicant_ut_psram(case_tester: CaseTester) -> None:
|
||||
|
||||
|
||||
@pytest.mark.two_duts
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.esp32c2_rev2
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.parametrize(
|
||||
'count, config, baud',
|
||||
[
|
||||
(
|
||||
2,
|
||||
'esp32c2eco4_xtal26m',
|
||||
'esp32c2_rev2_xtal26m',
|
||||
'74880',
|
||||
),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wpa_supplicant_esp32c2eco4_xtal26mhz(case_tester: CaseTester) -> None:
|
||||
def test_wpa_supplicant_esp32c2_rev2_xtal26mhz(case_tester: CaseTester) -> None:
|
||||
for case in case_tester.test_menu:
|
||||
if case.attributes.get('test_env') == 'two_duts':
|
||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
||||
|
||||
|
||||
@pytest.mark.two_duts
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.esp32c3_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'count, config',
|
||||
[
|
||||
(
|
||||
2,
|
||||
'esp32c3eco7',
|
||||
'esp32c3_rev1',
|
||||
),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_wpa_supplicant_esp32c3eco7(case_tester: CaseTester) -> None:
|
||||
def test_wpa_supplicant_esp32c3_rev1(case_tester: CaseTester) -> None:
|
||||
for case in case_tester.test_menu:
|
||||
if case.attributes.get('test_env') == 'two_duts':
|
||||
case_tester.run_multi_dev_case(case=case, reset=True)
|
||||
|
||||
@@ -73,12 +73,12 @@ def test_power_save_conn_esp32c2_26mhz(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
# Case 2: BLE power save test for ESP32C2ECO4
|
||||
@pytest.mark.two_duts
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.esp32c2_rev2
|
||||
@pytest.mark.parametrize(
|
||||
'config, count, app_path, baud',
|
||||
[
|
||||
(
|
||||
'esp32c2eco4_xtal26m',
|
||||
'esp32c2_rev2_xtal26m',
|
||||
2,
|
||||
f'{str(CUR_DIR / "power_save")}|{str(CUR_DIR / "blecent")}',
|
||||
'74880',
|
||||
@@ -87,7 +87,7 @@ def test_power_save_conn_esp32c2_26mhz(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_power_save_conn_esp32c2eco4(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
def test_power_save_conn_esp32c2_rev2(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
peripheral = dut[0]
|
||||
central = dut[1]
|
||||
|
||||
@@ -103,12 +103,12 @@ def test_power_save_conn_esp32c2eco4(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
|
||||
# Case 2: BLE power save test for ESP32C3ECO7
|
||||
@pytest.mark.two_duts
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.esp32c3_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'config, count, app_path',
|
||||
[
|
||||
(
|
||||
'esp32c3eco7',
|
||||
'esp32c3_rev1',
|
||||
2,
|
||||
f'{str(CUR_DIR / "power_save")}|{str(CUR_DIR / "blecent")}',
|
||||
),
|
||||
@@ -116,7 +116,7 @@ def test_power_save_conn_esp32c2eco4(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_power_save_conn_esp32c3eco7(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
def test_power_save_conn_esp32c3_rev1(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
peripheral = dut[0]
|
||||
central = dut[1]
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ from pytest_embedded import Dut
|
||||
pytest.param('default_generic', 'esp32', marks=[pytest.mark.ethernet_router]),
|
||||
pytest.param('default_dm9051', 'esp32', marks=[pytest.mark.eth_dm9051]),
|
||||
pytest.param('defaults_esp32p4', 'esp32p4', marks=[pytest.mark.eth_ip101]),
|
||||
pytest.param('defaults_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_eco4]),
|
||||
pytest.param('defaults_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_rev1]),
|
||||
],
|
||||
indirect=['target'],
|
||||
)
|
||||
|
||||
@@ -141,7 +141,7 @@ def test_esp_eth_iperf_ip101(
|
||||
'config, target',
|
||||
[
|
||||
pytest.param('default_ip101_esp32p4', 'esp32p4', marks=[pytest.mark.eth_ip101]),
|
||||
pytest.param('default_ip101_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_eco4]),
|
||||
pytest.param('default_ip101_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_rev1]),
|
||||
],
|
||||
indirect=['target'],
|
||||
)
|
||||
|
||||
@@ -400,7 +400,7 @@ def test_examples_efuse_with_virt_secure_boot_v1_pre_loaded(dut: Dut) -> None:
|
||||
dut.expect('example: Done')
|
||||
|
||||
|
||||
@pytest.mark.esp32eco3
|
||||
@pytest.mark.esp32_rev3
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -520,7 +520,7 @@ def test_examples_efuse_with_virt_secure_boot_v2(dut: Dut) -> None:
|
||||
dut.expect('example: Done')
|
||||
|
||||
|
||||
@pytest.mark.esp32eco3
|
||||
@pytest.mark.esp32_rev3
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -812,7 +812,7 @@ def test_examples_efuse_with_virt_sb_v1_and_fe(dut: Dut) -> None:
|
||||
dut.expect('example: Done')
|
||||
|
||||
|
||||
@pytest.mark.esp32eco3
|
||||
@pytest.mark.esp32_rev3
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -912,7 +912,7 @@ def test_examples_efuse_with_virt_sb_v2_and_fe(dut: Dut) -> None:
|
||||
@pytest.mark.parametrize(
|
||||
'qemu_extra_args',
|
||||
[
|
||||
f'-drive file={os.path.join(os.path.dirname(__file__), "test", "esp32eco3_efuses.bin")},'
|
||||
f'-drive file={os.path.join(os.path.dirname(__file__), "test", "esp32_rev3_efuses.bin")},'
|
||||
'if=none,format=raw,id=efuse '
|
||||
'-global driver=nvram.esp32.efuse,property=drive,value=efuse '
|
||||
'-global driver=timer.esp32.timg,property=wdt_disable,value=true',
|
||||
@@ -983,11 +983,11 @@ def test_examples_efuse_with_virt_sb_v2_and_fe_qemu(dut: QemuDut) -> None:
|
||||
|
||||
finally:
|
||||
# the above example test burns the efuses, and hence the efuses file which the
|
||||
# qemu uses to emulate the efuses, "test/esp32eco3_efuses.bin", gets modified.
|
||||
# qemu uses to emulate the efuses, "test/esp32_rev3_efuses.bin", gets modified.
|
||||
# Thus, restore the efuses file values back to the default ESP32-ECO3 efuses values.
|
||||
with open(os.path.join(os.path.dirname(__file__), 'test', 'esp32eco3_efuses.bin'), 'wb') as efuse_file:
|
||||
esp32eco3_efuses = '0' * 26 + '8' + '0' * 17 + '1' + '0' * 203
|
||||
efuse_file.write(bytearray.fromhex(esp32eco3_efuses))
|
||||
with open(os.path.join(os.path.dirname(__file__), 'test', 'esp32_rev3_efuses.bin'), 'wb') as efuse_file:
|
||||
esp32_rev3_efuses = '0' * 26 + '8' + '0' * 17 + '1' + '0' * 203
|
||||
efuse_file.write(bytearray.fromhex(esp32_rev3_efuses))
|
||||
|
||||
|
||||
def example_efuse_with_virt_sb_v2_and_fe(dut: Dut) -> None:
|
||||
|
||||
@@ -83,13 +83,13 @@ def test_wifi_getting_started_esp32c2_xtal_26mhz(dut: Tuple[IdfDut, IdfDut]) ->
|
||||
|
||||
@pytest.mark.two_duts
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.esp32c2_rev2
|
||||
@pytest.mark.parametrize(
|
||||
'count, config, baud, app_path',
|
||||
[
|
||||
(
|
||||
2,
|
||||
'esp32c2eco4_xtal26m',
|
||||
'esp32c2_rev2_xtal26m',
|
||||
'74880',
|
||||
f'{os.path.join(os.path.dirname(__file__), "softAP")}|{os.path.join(os.path.dirname(__file__), "station")}',
|
||||
),
|
||||
@@ -97,7 +97,7 @@ def test_wifi_getting_started_esp32c2_xtal_26mhz(dut: Tuple[IdfDut, IdfDut]) ->
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_getting_started_esp32c2eco4_xtal_26mhz(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
def test_wifi_getting_started_esp32c2_rev2_xtal_26mhz(dut: Tuple[IdfDut, IdfDut]) -> None:
|
||||
softap = dut[0]
|
||||
station = dut[1]
|
||||
|
||||
|
||||
@@ -80,28 +80,28 @@ def test_wifi_power_save_esp32c2_26mhz(dut: Dut) -> None:
|
||||
|
||||
@pytest.mark.wifi_ap
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.esp32c2_rev2
|
||||
@pytest.mark.parametrize(
|
||||
'config, baud',
|
||||
[
|
||||
('c2eco4_xtal26m', '74880'),
|
||||
('esp32c2_rev2_xtal26m', '74880'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_wifi_power_save_esp32c2eco4_26mhz(dut: Dut) -> None:
|
||||
def test_wifi_power_save_esp32c2_rev2_26mhz(dut: Dut) -> None:
|
||||
_run_test(dut)
|
||||
|
||||
|
||||
@pytest.mark.wifi_ap
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.esp32c3_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'c3eco7',
|
||||
'esp32c3_rev1',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_wifi_power_save_esp32c3eco7(dut: Dut) -> None:
|
||||
def test_wifi_power_save_esp32c3_rev1(dut: Dut) -> None:
|
||||
_run_test(dut)
|
||||
|
||||
14
pytest.ini
14
pytest.ini
@@ -98,7 +98,6 @@ env_markers =
|
||||
xtal32k: Runner with external 32k crystal connected
|
||||
no32kXtal: Runner with no external 32k crystal connected
|
||||
psramv0: Runner with PSRAM version 0
|
||||
esp32eco3: Runner with esp32 eco3 connected
|
||||
ecdsa_efuse: Runner with test ECDSA private keys programmed in efuse
|
||||
ccs811: Runner with CCS811 connected
|
||||
nvs_encr_hmac: Runner with test HMAC key programmed in efuse
|
||||
@@ -127,10 +126,13 @@ 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
|
||||
recovery_bootloader: Runner with recovery bootloader offset set in eFuse
|
||||
esp32p4_eco4: Runner with esp32p4 eco4 connected
|
||||
esp32c5_eco3: Runner with esp32c5 eco3 connected
|
||||
rev_default: Runner with default revision connected
|
||||
flash_32m: Runner with 32MB flash
|
||||
|
||||
# rev markers
|
||||
rev_default: Runner with default revision connected
|
||||
esp32_rev3: Runner with ESP32 rev 3.x connected
|
||||
esp32c2_rev2: Runner with ESP32-C2 rev 2.x connected
|
||||
esp32c3_rev1: Runner with ESP32-C3 rev 1.x connected
|
||||
esp32c5_rev1: Runner with ESP32-C5 rev 1.x connected
|
||||
esp32p4_rev1: Runner with ESP32-P4 rev 1.x connected
|
||||
|
||||
@@ -27,10 +27,10 @@ TIMEOUT_4H_MARKERS = [
|
||||
'ethernet_stress',
|
||||
]
|
||||
|
||||
ECO_MARKERS = [
|
||||
'esp32eco3',
|
||||
'esp32c2eco4',
|
||||
'esp32c3eco7',
|
||||
'esp32p4_eco4',
|
||||
'esp32c5_eco3',
|
||||
REV_MARKERS = [
|
||||
'esp32_rev3',
|
||||
'esp32c2_rev2',
|
||||
'esp32c3_rev1',
|
||||
'esp32p4_rev1',
|
||||
'esp32c5_rev1',
|
||||
]
|
||||
|
||||
@@ -20,7 +20,7 @@ from pytest_embedded.utils import find_by_suffix
|
||||
from pytest_ignore_test_results.ignore_results import ChildCase
|
||||
from pytest_ignore_test_results.ignore_results import ChildCasesStashKey
|
||||
|
||||
from .constants import ECO_MARKERS
|
||||
from .constants import REV_MARKERS
|
||||
from .utils import format_case_id
|
||||
from .utils import merge_junit_files
|
||||
from .utils import normalize_testcase_file_path
|
||||
@@ -181,8 +181,8 @@ class IdfLocalPlugin:
|
||||
if 'esp32c2' in case.targets and 'xtal_26mhz' not in case.all_markers:
|
||||
item.add_marker('xtal_40mhz')
|
||||
|
||||
for eco_marker in ECO_MARKERS:
|
||||
if eco_marker in case.all_markers:
|
||||
for rev_marker in REV_MARKERS:
|
||||
if rev_marker in case.all_markers:
|
||||
break
|
||||
else:
|
||||
item.add_marker('rev_default')
|
||||
|
||||
@@ -191,16 +191,16 @@ def test_phy_tsens_coexist_c2_xtal26m(dut: Tuple[Dut, Dut]) -> None:
|
||||
|
||||
@pytest.mark.two_duts
|
||||
@pytest.mark.xtal_26mhz
|
||||
@pytest.mark.esp32c2eco4
|
||||
@pytest.mark.esp32c2_rev2
|
||||
@pytest.mark.parametrize(
|
||||
'count, config, baud',
|
||||
[
|
||||
(2, 'c2_eco4', '74880'),
|
||||
(2, 'esp32c2_rev2', '74880'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c2'], indirect=['target'])
|
||||
def test_phy_tsens_coexist_c2eco4_xtal26m(dut: Tuple[Dut, Dut]) -> None:
|
||||
def test_phy_tsens_coexist_esp32c2_rev2_xtal26m(dut: Tuple[Dut, Dut]) -> None:
|
||||
for _dut in dut:
|
||||
_dut.expect('esp>')
|
||||
run_phy_tsens_test(dut)
|
||||
@@ -217,16 +217,16 @@ def test_phy_tsens_coexist_c2eco4_xtal26m(dut: Tuple[Dut, Dut]) -> None:
|
||||
|
||||
|
||||
@pytest.mark.two_duts
|
||||
@pytest.mark.esp32c3eco7
|
||||
@pytest.mark.esp32c3_rev1
|
||||
@pytest.mark.parametrize(
|
||||
'count, config',
|
||||
[
|
||||
(2, 'c3_eco7'),
|
||||
(2, 'esp32c3_rev1'),
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32c3'], indirect=['target'])
|
||||
def test_phy_tsens_coexist_c3eco7(dut: Tuple[Dut, Dut]) -> None:
|
||||
def test_phy_tsens_coexist_esp32c3_rev1(dut: Tuple[Dut, Dut]) -> None:
|
||||
for _dut in dut:
|
||||
_dut.expect('esp>')
|
||||
run_phy_tsens_test(dut)
|
||||
|
||||
Reference in New Issue
Block a user