From 77fa2c542063bff434d1e62464e2d792a2633846 Mon Sep 17 00:00:00 2001 From: Sajia Date: Fri, 17 Oct 2025 11:00:25 +0530 Subject: [PATCH] fix(unit_test): Fix esp_wifi and wpa_supplicant unit tests --- components/esp_wifi/Kconfig | 6 ------ components/esp_wifi/sdkconfig.rename | 1 - .../wpa_supplicant/test_apps/main/Kconfig.projbuild | 3 +++ .../wpa_supplicant/test_apps/main/test_eloop.c | 5 +++++ .../test_apps/main/test_fast_pbkdf2.c | 2 ++ .../wpa_supplicant/test_apps/main/test_offchannel.c | 13 ++++--------- .../test_apps/pytest_wpa_supplicant_ut.py | 6 ++++++ components/wpa_supplicant/test_apps/sdkconfig.ci | 0 8 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 components/wpa_supplicant/test_apps/main/Kconfig.projbuild create mode 100644 components/wpa_supplicant/test_apps/sdkconfig.ci diff --git a/components/esp_wifi/Kconfig b/components/esp_wifi/Kconfig index 10fbc5c53bd..9e5cced91ae 100644 --- a/components/esp_wifi/Kconfig +++ b/components/esp_wifi/Kconfig @@ -737,12 +737,6 @@ menu "Wi-Fi" Enabling this could increase the build size ~60kb depending on the project logging level. - config ESP_WIFI_TESTING_OPTIONS - bool "Add DPP testing code" - default n - help - Select this to enable unity test for DPP. - config ESP_WIFI_ENTERPRISE_SUPPORT bool "Enable enterprise option" default y diff --git a/components/esp_wifi/sdkconfig.rename b/components/esp_wifi/sdkconfig.rename index 3d43daf1982..273b291fb56 100644 --- a/components/esp_wifi/sdkconfig.rename +++ b/components/esp_wifi/sdkconfig.rename @@ -35,7 +35,6 @@ CONFIG_WPA_MBEDTLS_TLS_CLIENT CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT CONFIG_WPA_WAPI_PSK CONFIG_ESP_WIFI_WAPI_PSK CONFIG_WPA_SUITE_B_192 CONFIG_ESP_WIFI_SUITE_B_192 CONFIG_WPA_DEBUG_PRINT CONFIG_ESP_WIFI_DEBUG_PRINT -CONFIG_WPA_TESTING_OPTIONS CONFIG_ESP_WIFI_TESTING_OPTIONS CONFIG_WPA_WPS_STRICT CONFIG_ESP_WIFI_WPS_STRICT CONFIG_WPA_11KV_SUPPORT CONFIG_ESP_WIFI_11KV_SUPPORT CONFIG_WPA_SCAN_CACHE CONFIG_ESP_WIFI_SCAN_CACHE diff --git a/components/wpa_supplicant/test_apps/main/Kconfig.projbuild b/components/wpa_supplicant/test_apps/main/Kconfig.projbuild new file mode 100644 index 00000000000..56c375789c6 --- /dev/null +++ b/components/wpa_supplicant/test_apps/main/Kconfig.projbuild @@ -0,0 +1,3 @@ +config ESP_WIFI_TESTING_OPTIONS + bool + default y diff --git a/components/wpa_supplicant/test_apps/main/test_eloop.c b/components/wpa_supplicant/test_apps/main/test_eloop.c index c32b635f7dd..dbbb38475a7 100644 --- a/components/wpa_supplicant/test_apps/main/test_eloop.c +++ b/components/wpa_supplicant/test_apps/main/test_eloop.c @@ -37,6 +37,10 @@ static void callback(void *a, void *b) int32_t ms_diff = (age.sec - timeouts_sec[*i]) * 1000 + (age.usec - timeouts_usec[*i]) / 1000; + if (t > 5) { + TEST_ASSERT(0); + } + /* let's give 50 ms offset for this small block */ if (ms_diff > 50) { executed_order[t] = -1; @@ -80,6 +84,7 @@ TEST_CASE("Test eloop timers run", "[eloop]") /* check the execution order, this will also check whether they were fired at correct time */ TEST_ASSERT(memcmp(execution_order, executed_order, 6 * sizeof(int)) == 0); + t = 0; /* Add timers to check deinit happens gracefully */ for (int i = 0; i < 6; i++) { eloop_register_timeout(timeouts_sec[i], timeouts_usec[i], diff --git a/components/wpa_supplicant/test_apps/main/test_fast_pbkdf2.c b/components/wpa_supplicant/test_apps/main/test_fast_pbkdf2.c index 0bedd60ab46..29f8977bb63 100644 --- a/components/wpa_supplicant/test_apps/main/test_fast_pbkdf2.c +++ b/components/wpa_supplicant/test_apps/main/test_fast_pbkdf2.c @@ -89,10 +89,12 @@ TEST_CASE("Test pbkdf2", "[crypto-pbkdf2]") } TEST_ASSERT(memcmp(PMK, expected_pmk, PMK_LEN) == 0); +#if 0 start_time = esp_timer_get_time(); fastpbkdf2_hmac_sha1((const u8 *)passphrase, os_strlen((char *)passphrase), ssid, ssid_len, 4096, PMK, PMK_LEN); end_time = esp_timer_get_time(); total_time_fast_pbkdf2 += (end_time - start_time); +#endif } // Calculate average time for pbkdf2_sha1 diff --git a/components/wpa_supplicant/test_apps/main/test_offchannel.c b/components/wpa_supplicant/test_apps/main/test_offchannel.c index b616c19961c..e0ded0b572b 100644 --- a/components/wpa_supplicant/test_apps/main/test_offchannel.c +++ b/components/wpa_supplicant/test_apps/main/test_offchannel.c @@ -28,16 +28,13 @@ #include "test_wpa_supplicant_common.h" #include "sdkconfig.h" -#define WIFI_START_EVENT 0x00000001 -#define WIFI_ROC_DONE_EVENT 0x00000002 -#define WIFI_ACTION_RX_EVENT 0x00000003 -#define WIFI_SCAN_DONE_EVENT 0x00000004 +#define WIFI_START_EVENT BIT(0) +#define WIFI_ROC_DONE_EVENT BIT(1) +#define WIFI_ACTION_RX_EVENT BIT(2) +#define WIFI_SCAN_DONE_EVENT BIT(3) #define TEST_LISTEN_CHANNEL 6 -/* No runners; IDF-5046 */ -#if CONFIG_IDF_TARGET_ESP32 - static const char *TAG = "test_offchan"; esp_netif_t *wifi_netif; static EventGroupHandle_t wifi_event; @@ -268,5 +265,3 @@ static void test_wifi_roc(void) } TEST_CASE_MULTIPLE_DEVICES("test ROC and Offchannel Action Frame Tx", "[Offchan][test_env=wifi_two_dut][timeout=90]", test_wifi_roc, test_wifi_offchan_tx); - -#endif //CONFIG_IDF_TARGET_ESP32 diff --git a/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py b/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py index 65e7132b5c2..576624e8395 100644 --- a/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py +++ b/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py @@ -19,6 +19,12 @@ def test_wpa_supplicant_ut(dut: Dut) -> None: @pytest.mark.esp32 +@pytest.mark.esp32c3 +@pytest.mark.esp32s2 +@pytest.mark.esp32s3 +@pytest.mark.esp32c5 +@pytest.mark.esp32c6 +@pytest.mark.esp32c61 @pytest.mark.wifi_two_dut @pytest.mark.parametrize( 'count', diff --git a/components/wpa_supplicant/test_apps/sdkconfig.ci b/components/wpa_supplicant/test_apps/sdkconfig.ci new file mode 100644 index 00000000000..e69de29bb2d