1 /* 2 * wpa_supplicant module tests 3 * Copyright (c) 2014, Jouni Malinen <j@w1.fi> 4 * 5 * This software may be distributed under the terms of the BSD license. 6 * See README for more details. 7 */ 8 9 #include "utils/includes.h" 10 11 #include "utils/common.h" 12 #include "utils/module_tests.h" 13 #include "wpa_supplicant_i.h" 14 #include "bssid_ignore.h" 15 16 17 static int wpas_bssid_ignore_module_tests(void) 18 { 19 struct wpa_supplicant wpa_s; 20 int ret = -1; 21 22 os_memset(&wpa_s, 0, sizeof(wpa_s)); 23 24 wpa_bssid_ignore_clear(&wpa_s); 25 26 if (wpa_bssid_ignore_get(NULL, NULL) != NULL || 27 wpa_bssid_ignore_get(NULL, (u8 *) "123456") != NULL || 28 wpa_bssid_ignore_get(&wpa_s, NULL) != NULL || 29 wpa_bssid_ignore_get(&wpa_s, (u8 *) "123456") != NULL) 30 goto fail; 31 32 if (wpa_bssid_ignore_add(NULL, NULL) == 0 || 33 wpa_bssid_ignore_add(NULL, (u8 *) "123456") == 0 || 34 wpa_bssid_ignore_add(&wpa_s, NULL) == 0) 35 goto fail; 36 37 if (wpa_bssid_ignore_del(NULL, NULL) == 0 || 38 wpa_bssid_ignore_del(NULL, (u8 *) "123456") == 0 || 39 wpa_bssid_ignore_del(&wpa_s, NULL) == 0 || 40 wpa_bssid_ignore_del(&wpa_s, (u8 *) "123456") == 0) 41 goto fail; 42 43 if (wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || 44 wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || 45 wpa_bssid_ignore_add(&wpa_s, (u8 *) "222222") < 0 || 46 wpa_bssid_ignore_add(&wpa_s, (u8 *) "333333") < 0 || 47 wpa_bssid_ignore_add(&wpa_s, (u8 *) "444444") < 0 || 48 wpa_bssid_ignore_del(&wpa_s, (u8 *) "333333") < 0 || 49 wpa_bssid_ignore_del(&wpa_s, (u8 *) "xxxxxx") == 0 || 50 wpa_bssid_ignore_get(&wpa_s, (u8 *) "xxxxxx") != NULL || 51 wpa_bssid_ignore_get(&wpa_s, (u8 *) "111111") == NULL || 52 wpa_bssid_ignore_get(&wpa_s, (u8 *) "222222") == NULL || 53 wpa_bssid_ignore_get(&wpa_s, (u8 *) "444444") == NULL || 54 wpa_bssid_ignore_del(&wpa_s, (u8 *) "111111") < 0 || 55 wpa_bssid_ignore_del(&wpa_s, (u8 *) "222222") < 0 || 56 wpa_bssid_ignore_del(&wpa_s, (u8 *) "444444") < 0 || 57 wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || 58 wpa_bssid_ignore_add(&wpa_s, (u8 *) "222222") < 0 || 59 wpa_bssid_ignore_add(&wpa_s, (u8 *) "333333") < 0) 60 goto fail; 61 62 wpa_bssid_ignore_clear(&wpa_s); 63 64 if (wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || 65 wpa_bssid_ignore_add(&wpa_s, (u8 *) "222222") < 0 || 66 wpa_bssid_ignore_add(&wpa_s, (u8 *) "333333") < 0 || 67 wpa_bssid_ignore_add(&wpa_s, (u8 *) "444444") < 0 || 68 !wpa_bssid_ignore_is_listed(&wpa_s, (u8 *) "111111") || 69 wpa_bssid_ignore_del(&wpa_s, (u8 *) "111111") < 0 || 70 wpa_bssid_ignore_is_listed(&wpa_s, (u8 *) "111111") || 71 wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0) 72 goto fail; 73 74 wpa_bssid_ignore_update(&wpa_s); 75 76 if (!wpa_bssid_ignore_is_listed(&wpa_s, (u8 *) "111111")) 77 goto fail; 78 79 ret = 0; 80 fail: 81 wpa_bssid_ignore_clear(&wpa_s); 82 83 if (ret) 84 wpa_printf(MSG_ERROR, "bssid_ignore module test failure"); 85 86 return ret; 87 } 88 89 90 int wpas_module_tests(void) 91 { 92 int ret = 0; 93 94 wpa_printf(MSG_INFO, "wpa_supplicant module tests"); 95 96 if (wpas_bssid_ignore_module_tests() < 0) 97 ret = -1; 98 99 #ifdef CONFIG_WPS 100 if (wps_module_tests() < 0) 101 ret = -1; 102 #endif /* CONFIG_WPS */ 103 104 if (utils_module_tests() < 0) 105 ret = -1; 106 107 if (common_module_tests() < 0) 108 ret = -1; 109 110 if (crypto_module_tests() < 0) 111 ret = -1; 112 113 return ret; 114 } 115