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 struct wpa_global global; 21 int ret = -1; 22 23 os_memset(&wpa_s, 0, sizeof(wpa_s)); 24 os_memset(&global, 0, sizeof(global)); 25 wpa_s.global = &global; 26 27 wpa_bssid_ignore_clear(&wpa_s); 28 29 if (wpa_bssid_ignore_get(NULL, NULL) != NULL || 30 wpa_bssid_ignore_get(NULL, (u8 *) "123456") != NULL || 31 wpa_bssid_ignore_get(&wpa_s, NULL) != NULL || 32 wpa_bssid_ignore_get(&wpa_s, (u8 *) "123456") != NULL) 33 goto fail; 34 35 if (wpa_bssid_ignore_add(NULL, NULL) == 0 || 36 wpa_bssid_ignore_add(NULL, (u8 *) "123456") == 0 || 37 wpa_bssid_ignore_add(&wpa_s, NULL) == 0) 38 goto fail; 39 40 if (wpa_bssid_ignore_del(NULL, NULL) == 0 || 41 wpa_bssid_ignore_del(NULL, (u8 *) "123456") == 0 || 42 wpa_bssid_ignore_del(&wpa_s, NULL) == 0 || 43 wpa_bssid_ignore_del(&wpa_s, (u8 *) "123456") == 0) 44 goto fail; 45 46 if (wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || 47 wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || 48 wpa_bssid_ignore_add(&wpa_s, (u8 *) "222222") < 0 || 49 wpa_bssid_ignore_add(&wpa_s, (u8 *) "333333") < 0 || 50 wpa_bssid_ignore_add(&wpa_s, (u8 *) "444444") < 0 || 51 wpa_bssid_ignore_del(&wpa_s, (u8 *) "333333") < 0 || 52 wpa_bssid_ignore_del(&wpa_s, (u8 *) "xxxxxx") == 0 || 53 wpa_bssid_ignore_get(&wpa_s, (u8 *) "xxxxxx") != NULL || 54 wpa_bssid_ignore_get(&wpa_s, (u8 *) "111111") == NULL || 55 wpa_bssid_ignore_get(&wpa_s, (u8 *) "222222") == NULL || 56 wpa_bssid_ignore_get(&wpa_s, (u8 *) "444444") == NULL || 57 wpa_bssid_ignore_del(&wpa_s, (u8 *) "111111") < 0 || 58 wpa_bssid_ignore_del(&wpa_s, (u8 *) "222222") < 0 || 59 wpa_bssid_ignore_del(&wpa_s, (u8 *) "444444") < 0 || 60 wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || 61 wpa_bssid_ignore_add(&wpa_s, (u8 *) "222222") < 0 || 62 wpa_bssid_ignore_add(&wpa_s, (u8 *) "333333") < 0) 63 goto fail; 64 65 wpa_bssid_ignore_clear(&wpa_s); 66 67 if (wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0 || 68 wpa_bssid_ignore_add(&wpa_s, (u8 *) "222222") < 0 || 69 wpa_bssid_ignore_add(&wpa_s, (u8 *) "333333") < 0 || 70 wpa_bssid_ignore_add(&wpa_s, (u8 *) "444444") < 0 || 71 !wpa_bssid_ignore_is_listed(&wpa_s, (u8 *) "111111") || 72 wpa_bssid_ignore_del(&wpa_s, (u8 *) "111111") < 0 || 73 wpa_bssid_ignore_is_listed(&wpa_s, (u8 *) "111111") || 74 wpa_bssid_ignore_add(&wpa_s, (u8 *) "111111") < 0) 75 goto fail; 76 77 wpa_bssid_ignore_update(&wpa_s); 78 79 if (!wpa_bssid_ignore_is_listed(&wpa_s, (u8 *) "111111")) 80 goto fail; 81 82 ret = 0; 83 fail: 84 wpa_bssid_ignore_clear(&wpa_s); 85 86 if (ret) 87 wpa_printf(MSG_ERROR, "bssid_ignore module test failure"); 88 89 return ret; 90 } 91 92 93 int wpas_module_tests(void) 94 { 95 int ret = 0; 96 97 wpa_printf(MSG_INFO, "wpa_supplicant module tests"); 98 99 if (wpas_bssid_ignore_module_tests() < 0) 100 ret = -1; 101 102 #ifdef CONFIG_WPS 103 if (wps_module_tests() < 0) 104 ret = -1; 105 #endif /* CONFIG_WPS */ 106 107 if (utils_module_tests() < 0) 108 ret = -1; 109 110 if (common_module_tests() < 0) 111 ret = -1; 112 113 if (crypto_module_tests() < 0) 114 ret = -1; 115 116 return ret; 117 } 118