From bd0b3b604df0e9f882175913d9cccdfc92ebab30 Mon Sep 17 00:00:00 2001 From: Cheoleun Moon Date: Tue, 18 Feb 2020 16:56:38 +0900 Subject: [PATCH] Add test codes for service specific info --- test/wifi-aware-test.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/test/wifi-aware-test.c b/test/wifi-aware-test.c index ba5c1a3..845e065 100644 --- a/test/wifi-aware-test.c +++ b/test/wifi-aware-test.c @@ -107,6 +107,7 @@ enum { CMD_UPDATE_PUBLISH, CMD_SUBSCRIBE, CMD_CANCEL_SUBSCRIBE, + CMD_TEST_SPECIFIC_INFO, CMD_INVALID, }; @@ -137,6 +138,8 @@ static char *g_menu_str[] = { = "SUBSCRIBE", [CMD_CANCEL_SUBSCRIBE] = "CANCEL SUBSCRIBE", + [CMD_TEST_SPECIFIC_INFO] + = "TEST SPECIFIC INFO", [CMD_INVALID] = NULL, }; @@ -598,6 +601,51 @@ void test_cancel_subscribe() __print_result(ret, "wifi_aware_cancel_subscribe"); } +static struct { + wifi_aware_publish_h handle; + char service_name[MAX_SERVICE_NAME_LEN + 1]; + unsigned char info[MAX_SPECIFIC_INFO_LEN]; + size_t len; +} info_test_data[] = { + { NULL, "SPECIFIC_INFO_TEST_1", {1, 2, 3, 4, 5}, 5 }, + { NULL, "SPECIFIC_INFO_TEST_2", {'A', 'B', 'C', '\0'}, 4 }, + { NULL, "SPECIFIC_INFO_TEST_3", {0, 0, 0, 0, 0, 0, 0}, 7 }, + { NULL, "SPECIFIC_INFO_TEST_4", {1, 2, 3, 4, 5}, 3 }, + { NULL, "SPECIFIC_INFO_TEST_5", {1, 2, 3, 4, 5}, 7 }, +}; + +void test_specific_info() +{ + int ret = 0; + + RET_IF_LOOP_IS_NULL(); + RET_IF_HANDLE_IS_NULL(); + + for (int i = 0; i < sizeof(info_test_data) / sizeof(info_test_data[0]); ++i) { + ret = wifi_aware_publish_create(g_wifi_aware_handle, &info_test_data[i].handle); + __print_result(ret, "wifi_aware_publish_create"); + + ret = wifi_aware_publish_set_type(info_test_data[i].handle, WIFI_AWARE_PUBLISH_TYPE_UNSOLICITED); + __print_result(ret, "wifi_aware_publish_set_type"); + if (ret != WIFI_AWARE_ERROR_NONE) + return; + + ret = wifi_aware_publish_set_service_name(info_test_data[i].handle, + info_test_data[i].service_name); + __print_result(ret, "wifi_aware_publish_set_service_name"); + if (ret != WIFI_AWARE_ERROR_NONE) + return; + + ret = wifi_aware_publish_set_service_specific_info(info_test_data[i].handle, + info_test_data[i].info, info_test_data[i].len); + __print_result(ret, "wifi_aware_publish_set_service_specific_info"); + if (ret != WIFI_AWARE_ERROR_NONE) + return; + + ret = wifi_aware_start_publish(info_test_data[i].handle, __published_cb, NULL); + } +} + typedef void (*test_func)(void); test_func g_menu_func[] = { [CMD_QUIT] = test_quit, @@ -610,6 +658,7 @@ test_func g_menu_func[] = { [CMD_UPDATE_PUBLISH] = test_update_publish, [CMD_SUBSCRIBE] = test_subscribe, [CMD_CANCEL_SUBSCRIBE] = test_cancel_subscribe, + [CMD_TEST_SPECIFIC_INFO] = test_specific_info, [CMD_INVALID] = NULL, }; -- 2.7.4