From 5a4f4d0954ffa179285ab5b28c97d3ec9d83ec4e Mon Sep 17 00:00:00 2001 From: wuzhenghui Date: Tue, 1 Sep 2026 10:56:27 +0800 Subject: [PATCH] feat(example): enable powersave CI test by soc cap --- examples/wifi/.build-test-rules.yml | 13 ++----------- .../pytest_wifi_getting_started.py | 3 ++- .../station/pytest_wifi_station.py | 4 ++-- .../wifi/power_save/pytest_wifi_power_save.py | 15 ++++++++++++--- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/examples/wifi/.build-test-rules.yml b/examples/wifi/.build-test-rules.yml index 39bac60b7a2..8114649185b 100644 --- a/examples/wifi/.build-test-rules.yml +++ b/examples/wifi/.build-test-rules.yml @@ -43,9 +43,6 @@ examples/wifi/getting_started: - if: IDF_TARGET in ["esp32p4", "esp32h2"] temporary: true reason: lack of runners - - if: IDF_TARGET in ["esp32s31"] - temporary: true - reason: lack of runners depends_filepatterns: - examples/wifi/getting_started/**/* @@ -82,14 +79,8 @@ examples/wifi/itwt: examples/wifi/power_save: <<: *wifi_depends_default - disable: - - if: SOC_WIFI_SUPPORTED != 1 - temporary: true - reason: requires hardware support - disable_test: - - if: IDF_TARGET in ["esp32s31"] - temporary: true - reason: lack of runners + enable: + - if: SOC_WIFI_SUPPORTED == 1 depends_components: - *common_components - esp_wifi diff --git a/examples/wifi/getting_started/pytest_wifi_getting_started.py b/examples/wifi/getting_started/pytest_wifi_getting_started.py index 6469767a4e8..72d0cfdc600 100644 --- a/examples/wifi/getting_started/pytest_wifi_getting_started.py +++ b/examples/wifi/getting_started/pytest_wifi_getting_started.py @@ -5,6 +5,7 @@ import os.path import pytest from pytest_embedded_idf.dut import IdfDut from pytest_embedded_idf.utils import idf_parametrize +from pytest_embedded_idf.utils import soc_filtered_targets # @pytest.mark.supported_targets # This test should support all targets, even between different target types @@ -33,7 +34,7 @@ from pytest_embedded_idf.utils import idf_parametrize ) @idf_parametrize( 'target', - ['esp32', 'esp32c3', 'esp32s2', 'esp32s3', 'esp32c5', 'esp32c6', 'esp32c61'], + soc_filtered_targets('SOC_WIFI_SUPPORTED == 1 and IDF_TARGET not in ["esp32c2"]'), indirect=['target'], ) def test_wifi_getting_started(dut: tuple[IdfDut, IdfDut]) -> None: diff --git a/examples/wifi/getting_started/station/pytest_wifi_station.py b/examples/wifi/getting_started/station/pytest_wifi_station.py index d16311b161f..a275f887b0f 100644 --- a/examples/wifi/getting_started/station/pytest_wifi_station.py +++ b/examples/wifi/getting_started/station/pytest_wifi_station.py @@ -6,6 +6,7 @@ from collections.abc import Callable import pytest from pytest_embedded import Dut from pytest_embedded_idf.utils import idf_parametrize +from pytest_embedded_idf.utils import soc_filtered_targets # diff of esp32s2/esp32s3 ~45K, others ~50K @@ -20,8 +21,7 @@ DIFF_THRESHOLD = { @pytest.mark.parametrize('count, config, skip_autoflash', [(2, 'default|enable_softap', 'y')], indirect=True) @idf_parametrize( 'target', - # esp32s31: no two_duts runner in CI (rev_default) yet - ['esp32', 'esp32c2', 'esp32c3', 'esp32s2', 'esp32s3', 'esp32c5', 'esp32c6', 'esp32c61'], + soc_filtered_targets('SOC_WIFI_SUPPORTED == 1'), indirect=['target'], ) def test_wifi_sdkconfig_disable_softap_save_binary_size( diff --git a/examples/wifi/power_save/pytest_wifi_power_save.py b/examples/wifi/power_save/pytest_wifi_power_save.py index 0e811d8511f..48215959e5f 100644 --- a/examples/wifi/power_save/pytest_wifi_power_save.py +++ b/examples/wifi/power_save/pytest_wifi_power_save.py @@ -7,6 +7,7 @@ import pytest from common_test_methods import get_env_config_variable from pytest_embedded import Dut from pytest_embedded_idf.utils import idf_parametrize +from pytest_embedded_idf.utils import soc_filtered_targets bad_event_str = [ 'bcn_timeout', @@ -44,7 +45,7 @@ def _run_test(dut: Dut) -> None: @pytest.mark.wifi_ap @idf_parametrize( 'target', - ['esp32', 'esp32c2', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c6', 'esp32c5', 'esp32c61'], + soc_filtered_targets('SOC_WIFI_SUPPORTED == 1'), indirect=['target'], ) def test_wifi_power_save(dut: Dut) -> None: @@ -59,7 +60,11 @@ def test_wifi_power_save(dut: Dut) -> None: ], indirect=True, ) -@idf_parametrize('target', ['esp32c6', 'esp32c5', 'esp32c61'], indirect=['target']) +@idf_parametrize( + 'target', + soc_filtered_targets('SOC_WIFI_SUPPORTED == 1 and SOC_PM_SUPPORT_TOP_PD == 1'), + indirect=['target'], +) def test_wifi_power_save_pd_top(dut: Dut) -> None: _run_test(dut) @@ -72,7 +77,11 @@ def test_wifi_power_save_pd_top(dut: Dut) -> None: ], indirect=True, ) -@idf_parametrize('target', ['esp32c6', 'esp32c5', 'esp32c61'], indirect=['target']) +@idf_parametrize( + 'target', + soc_filtered_targets('SOC_WIFI_SUPPORTED == 1 and SOC_PM_SUPPORT_PMU_MODEM_STATE == 1'), + indirect=['target'], +) def test_wifi_power_save_pd_modem(dut: Dut) -> None: _run_test(dut)