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
wpas_bssid_ignore_module_tests(void)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
wpas_module_tests(void)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