Add test codes for service specific info
authorCheoleun Moon <chleun.moon@samsung.com>
Tue, 18 Feb 2020 07:56:38 +0000 (16:56 +0900)
committerCheoleun Moon <chleun.moon@samsung.com>
Tue, 18 Feb 2020 07:56:38 +0000 (16:56 +0900)
test/wifi-aware-test.c

index ba5c1a3..845e065 100644 (file)
@@ -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,
 };