ci: rename eco tags to revision

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Fu Hanxi
2026-04-01 09:18:07 +02:00
parent 727cd73fb4
commit 3cefdfb703
55 changed files with 109 additions and 111 deletions

View File

@@ -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

View File

@@ -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',

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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,
# )

View File

@@ -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)

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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')

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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()

View File

@@ -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)

View File

@@ -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'],
)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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()

View File

@@ -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()

View File

@@ -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)

View File

@@ -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]

View File

@@ -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'],
)

View File

@@ -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'],
)

View File

@@ -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:

View File

@@ -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]

View File

@@ -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)

View File

@@ -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

View File

@@ -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',
]

View File

@@ -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')

View File

@@ -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)