From bcedd58249db25a644057093adeac92dece1aee0 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 3 Feb 2015 21:45:45 -0600 Subject: [PATCH] unit: Add ie RSNE Builder test This particular set of tests makes sure we can build the compact forms of RSNE. The test data are the most compact versions of the RSNE IE examples found in 802.11, Section 8.4.2.27.1 --- unit/test-ie.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/unit/test-ie.c b/unit/test-ie.c index e33806d3..457521cc 100644 --- a/unit/test-ie.c +++ b/unit/test-ie.c @@ -415,6 +415,22 @@ static void ie_test_rsne_info(const void *data) assert(test->group_management_cipher == info.group_management_cipher); } +static void ie_test_rsne_build_compact_info(const void *data) +{ + const struct ie_rsne_info_test *test = data; + int r; + struct ie_rsn_info info; + uint8_t buf[256]; + + r = ie_parse_rsne_from_data(test->data, test->data_len, &info); + assert(r == 0); + + r = ie_build_rsne(&info, buf); + assert(r); + + assert(!memcmp(test->data, buf, test->data_len)); +} + int main(int argc, char *argv[]) { l_test_init(&argc, &argv); @@ -439,5 +455,15 @@ int main(int argc, char *argv[]) l_test_add("/ie/RSN Info Parser/Test Case 6", ie_test_rsne_info, &ie_rsne_info_test_6); + l_test_add("/ie/RSN Info Builder/Compact Test 1", + ie_test_rsne_build_compact_info, + &ie_rsne_info_test_3); + l_test_add("/ie/RSN Info Builder/Compact Test 2", + ie_test_rsne_build_compact_info, + &ie_rsne_info_test_4); + l_test_add("/ie/RSN Info Builder/Compact Test 3", + ie_test_rsne_build_compact_info, + &ie_rsne_info_test_5); + return l_test_run(); }