/* * wpa_supplicant module tests * Copyright (c) 2014, Jouni Malinen * * This software may be distributed under the terms of the BSD license. * See README for more details. */ #include "utils/includes.h" #include "utils/common.h" #include "utils/module_tests.h" #include "wpa_supplicant_i.h" #include "bssid_ignore.h" static int wpas_bssid_ignore_module_tests(void) { struct wpa_supplicant wpa_s; int ret = -1; os_memset(&wpa_s, 0, sizeof(wpa_s)); wpa_bssid_ignore_clear(&wpa_s); if (wpa_bssid_ignore_get(NULL, NULL) != NULL || wpa_bssid_ignore_get(NULL, (u8 *) "123456") != NULL || wpa_bssid_ignore_get(&wpa_s, NULL) != NULL || wpa_bssid_ignore_get(&wpa_s, (u8 *) "123456") != NULL) goto fail; if (wpa_bssid_ignore_add(NULL, NULL) == 0 || wpa_bssid_ignore_add(NULL, (u8 *) "123456") == 0 || wpa_bssid_ignore_add(&wpa_s, NULL) == 0) goto fail; if (wpa_bssid_ignore_del(NULL, NULL) == 0 || wpa_bssid_ignore_del(NULL, (u8 *) "123456") == 0 || wpa_bssid_ignore_del(&wpa_s, NULL) == 0 || wpa_bssid_ignore_del(&wpa_s, (u8 *) "123456") == 0) goto fail; if (wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || wpa_bssid_ignore_add(&wpa_s, (u8 *) "222222") < 0 || wpa_bssid_ignore_add(&wpa_s, (u8 *) "333333") < 0 || wpa_bssid_ignore_add(&wpa_s, (u8 *) "444444") < 0 || wpa_bssid_ignore_del(&wpa_s, (u8 *) "333333") < 0 || wpa_bssid_ignore_del(&wpa_s, (u8 *) "xxxxxx") == 0 || wpa_bssid_ignore_get(&wpa_s, (u8 *) "xxxxxx") != NULL || wpa_bssid_ignore_get(&wpa_s, (u8 *) "111111") == NULL || wpa_bssid_ignore_get(&wpa_s, (u8 *) "222222") == NULL || wpa_bssid_ignore_get(&wpa_s, (u8 *) "444444") == NULL || wpa_bssid_ignore_del(&wpa_s, (u8 *) "111111") < 0 || wpa_bssid_ignore_del(&wpa_s, (u8 *) "222222") < 0 || wpa_bssid_ignore_del(&wpa_s, (u8 *) "444444") < 0 || wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || wpa_bssid_ignore_add(&wpa_s, (u8 *) "222222") < 0 || wpa_bssid_ignore_add(&wpa_s, (u8 *) "333333") < 0) goto fail; wpa_bssid_ignore_clear(&wpa_s); if (wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || wpa_bssid_ignore_add(&wpa_s, (u8 *) "222222") < 0 || wpa_bssid_ignore_add(&wpa_s, (u8 *) "333333") < 0 || wpa_bssid_ignore_add(&wpa_s, (u8 *) "444444") < 0 || !wpa_bssid_ignore_is_listed(&wpa_s, (u8 *) "111111") || wpa_bssid_ignore_del(&wpa_s, (u8 *) "111111") < 0 || wpa_bssid_ignore_is_listed(&wpa_s, (u8 *) "111111") || wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0) goto fail; wpa_bssid_ignore_update(&wpa_s); if (!wpa_bssid_ignore_is_listed(&wpa_s, (u8 *) "111111")) goto fail; ret = 0; fail: wpa_bssid_ignore_clear(&wpa_s); if (ret) wpa_printf(MSG_ERROR, "bssid_ignore module test failure"); return ret; } int wpas_module_tests(void) { int ret = 0; wpa_printf(MSG_INFO, "wpa_supplicant module tests"); if (wpas_bssid_ignore_module_tests() < 0) ret = -1; #ifdef CONFIG_WPS if (wps_module_tests() < 0) ret = -1; #endif /* CONFIG_WPS */ if (utils_module_tests() < 0) ret = -1; if (common_module_tests() < 0) ret = -1; if (crypto_module_tests() < 0) ret = -1; return ret; }