Merge branch 'feat/enable_h4_ci_target_test' into 'master'

ci(esp32h4): enable ci target test

Closes IDF-12328 and IDF-13766

See merge request espressif/esp-idf!47350
This commit is contained in:
Chen Ji Chang
2026-05-12 11:23:28 +08:00
103 changed files with 438 additions and 98 deletions
@@ -12,20 +12,36 @@
components/esp_driver_spi/test_apps/master:
disable:
- if: SOC_GPSPI_SUPPORTED != 1
disable_test:
- if: IDF_TARGET in ["esp32h4"]
temporary: true
reason: cannot pass # TODO: IDF-15615
<<: *spi_depends_default
components/esp_driver_spi/test_apps/param:
disable:
- if: SOC_GPSPI_SUPPORTED != 1
disable_test:
- if: IDF_TARGET in ["esp32h4"]
temporary: true
reason: cannot pass # TODO: IDF-15615
<<: *spi_depends_default
components/esp_driver_spi/test_apps/slave:
disable:
- if: SOC_GPSPI_SUPPORTED != 1
disable_test:
- if: IDF_TARGET in ["esp32h4"]
temporary: true
reason: cannot pass # TODO: IDF-15615
<<: *spi_depends_default
components/esp_driver_spi/test_apps/slave_hd:
disable:
- if: SOC_GPSPI_SUPPORTED != 1
- if: SOC_SPI_SUPPORT_SLAVE_HD_VER2 != 1
disable_test:
- if: IDF_TARGET in ["esp32h4"]
temporary: true
reason: cannot pass # TODO: IDF-15615
<<: *spi_depends_default
@@ -17,6 +17,7 @@ from pytest_embedded_idf.utils import soc_filtered_targets
@idf_parametrize(
'target', soc_filtered_targets('SOC_GPSPI_SUPPORTED == 1 and IDF_TARGET not in ["esp32c5"]'), indirect=['target']
)
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='cannot pass') # TODO: IDF-15615
def test_master_single_dev(case_tester) -> None: # type: ignore
for case in case_tester.test_menu:
if 'test_env' in case.attributes:
@@ -86,5 +87,6 @@ def test_master_esp_flash(case_tester) -> None: # type: ignore
)
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
@pytest.mark.temp_skip_ci(targets=['esp32s31'], reason='no runner')
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='lack of runner') # TODO: IDFCI-10702
def test_master_multi_dev(case_tester) -> None: # type: ignore
case_tester.run_all_multi_dev_cases(reset=True)
@@ -6,6 +6,7 @@ from pytest_embedded_idf.utils import idf_parametrize
@pytest.mark.generic
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='cannot pass') # TODO: IDF-15615
def test_param_single_dev(case_tester) -> None: # type: ignore
case_tester.run_all_normal_cases(reset=True)
@@ -14,5 +15,6 @@ def test_param_single_dev(case_tester) -> None: # type: ignore
@pytest.mark.parametrize('count', [2], indirect=True)
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
@pytest.mark.temp_skip_ci(targets=['esp32s31'], reason='no runner')
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='no runner') # TODO: IDFCI-10702
def test_param_multi_dev(case_tester) -> None: # type: ignore
case_tester.run_all_multi_dev_cases(reset=True)
@@ -8,8 +8,11 @@ from pytest_embedded_idf.utils import soc_filtered_targets
@pytest.mark.generic
@pytest.mark.parametrize('config', ['release', 'iram_safe'], indirect=True)
@idf_parametrize(
'target', soc_filtered_targets('SOC_GPSPI_SUPPORTED == 1 and IDF_TARGET not in ["esp32c5"]'), indirect=['target']
'target',
soc_filtered_targets('SOC_GPSPI_SUPPORTED == 1 and IDF_TARGET not in ["esp32c5"]'),
indirect=['target'],
)
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='cannot pass') # TODO: IDF-15615
def test_slave_single_dev(case_tester) -> None: # type: ignore
case_tester.run_all_normal_cases(reset=True)
@@ -33,6 +36,7 @@ def test_slave_single_dev_esp32c5_rev1(case_tester) -> None: # type: ignore
@pytest.mark.parametrize('count, config', [(2, 'release'), (2, 'iram_safe')], indirect=True)
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
@pytest.mark.temp_skip_ci(targets=['esp32s31'], reason='no runner')
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='no runner') # TODO: IDFCI-10702
@pytest.mark.temp_skip_ci(targets=['esp32s31'], reason='s31 bringup on this module is not done')
def test_slave_multi_dev(case_tester) -> None: # type: ignore
case_tester.run_all_multi_dev_cases(reset=True)
@@ -13,6 +13,7 @@ from pytest_embedded_idf.utils import soc_filtered_targets
soc_filtered_targets('SOC_SPI_SUPPORT_SLAVE_HD_VER2 == 1 and IDF_TARGET not in ["esp32c5"]'),
indirect=['target'],
)
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='cannot pass') # TODO: IDF-15615
def test_slave_hd_single_dev(case_tester) -> None: # type: ignore
case_tester.run_all_normal_cases(reset=True, timeout=180)
@@ -29,5 +30,6 @@ def test_slave_hd_single_dev_esp32c5_rev1(case_tester) -> None: # type: ignore
@pytest.mark.parametrize('count, config', [(2, 'release')], indirect=True)
@idf_parametrize('target', soc_filtered_targets('SOC_SPI_SUPPORT_SLAVE_HD_VER2 == 1'), indirect=['target'])
@pytest.mark.temp_skip_ci(targets=['esp32s31'], reason='no runner')
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='no runner') # TODO: IDFCI-10702
def test_slave_hd_multi_dev(case_tester) -> None: # type: ignore
case_tester.run_all_multi_dev_cases(reset=True)