enum {
CMD_QUIT,
- CMD_FULL_MENU,
CMD_OPEN_UNSOLICITED,
CMD_OPEN_SOLICITED,
static char *g_menu_str[] = {
[CMD_QUIT]
= "Quit",
- [CMD_FULL_MENU]
- = "Full Menu",
[CMD_OPEN_UNSOLICITED]
= "Open + Unsolicited",
[CMD_OPEN_SOLICITED]
};
static GMainLoop *g_main_loop_p;
-static bool g_initialized = false;
static bool g_ranging = false;
static wifi_aware_session_h g_wifi_aware_session = NULL;
static wifi_aware_publish_type_e g_pub_type;
static wifi_aware_security_type_e g_security_type;
+void test_deinit();
+
+static void __test_finish(int is_validated)
+{
+ if (is_validated)
+ printf(MAKE_GREEN"[TEST RESULT] Wi-Fi Aware validated!"RESET_COLOR"\n");
+ else
+ printf(MAKE_RED"[TEST RESULT] Wi-Fi Aware invalidated!"RESET_COLOR"\n");
+ test_deinit();
+}
+
static inline void __usage_full()
{
int i;
static void __published_cb(wifi_aware_session_h session,
wifi_aware_error_e error, void *user_data)
{
- if (error == WIFI_AWARE_ERROR_NONE)
+ if (error == WIFI_AWARE_ERROR_NONE) {
PRINT_SUCCESS("[CB][Publish] Requested");
- else
+ } else {
PRINT_FAILURE_ERROR("[CB][Publish]", error);
+ __test_finish(0);
+ }
}
static void __data_path_terminated_cb(wifi_aware_data_path_h data_path,
wifi_aware_data_path_unset_terminated_cb(data_path);
wifi_aware_data_path_destroy(data_path);
}
+ __test_finish(1);
}
static void __open_cb(wifi_aware_data_path_h data_path, wifi_aware_error_e error, void *user_data)
printf("\tPeer's Port: %d\n", port);
else
PRINT_FAILURE_ERROR("\tPeer's Port:", ret);
+ __test_finish(1);
}
else {
- PRINT_FAILURE("[CB][OpenDataPath Requested] Failure(%d:%s) %p", error, __print_error(error), data_path);
+ PRINT_FAILURE("[CB][OpenDataPath] Failure(%d:%s) %p", error, __print_error(error), data_path);
+ __test_finish(0);
}
}
printf("[OpenDataPath] Request\n");
if (g_peer == NULL) {
printf("Peer is NULL\n");
+ __test_finish(0);
return;
}
int ret = wifi_aware_data_path_create(session, g_peer, &g_ndp);
if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tHandle:", ret);
+ __test_finish(0);
return;
}
printf("\tHandle: %p\n", g_ndp);
ret = wifi_aware_data_path_set_terminated_cb(g_ndp, __data_path_terminated_cb, NULL);
if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tSet TerminatedCallback:", ret);
+ __test_finish(0);
return;
}
ret = wifi_aware_data_path_set_security(g_ndp, g_security_type);
if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tSecurity Type:", ret);
+ __test_finish(0);
return;
}
printf("\tSecurity Type: ");
break;
default:
PRINT_FAILURE("Unknown security type");
+ __test_finish(0);
return;
}
ret = wifi_aware_data_path_set_port(g_ndp, PORT);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tPort:", ret);
- else
+ __test_finish(0);
+ } else {
printf("\tPort: %d\n", PORT);
+ }
ret = wifi_aware_data_path_open(g_ndp, __open_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("[OpenDataPath]", ret);
+ __test_finish(0);
+ }
}
static void __message_result_cb(wifi_aware_session_h session, wifi_aware_error_e error, void *user_data)
{
- if (error == WIFI_AWARE_ERROR_NONE)
+ if (error == WIFI_AWARE_ERROR_NONE) {
PRINT_SUCCESS("[CB][Send Message] Requested");
- else
+ __open_data_path(session);
+ } else {
PRINT_FAILURE_ERROR("[CB][Send Message]", error);
- __open_data_path(session);
+ __test_finish(0);
+ }
}
static void __message_received_cb(wifi_aware_session_h session, wifi_aware_peer_h peer,
ret = wifi_aware_peer_get_mac(peer, &mac);
if (ret != WIFI_AWARE_ERROR_NONE) {
printf("\tPeer's NMI: Failure(%d:%s)\n", ret, __print_error(ret));
+ __test_finish(0);
+ return;
} else {
printf("\tPeer's NMI: ");
if (mac != NULL) {
size_t message_len = strlen(MSG_PUB_TO_SUB);
memcpy(send_message, MSG_PUB_TO_SUB, message_len);
ret = wifi_aware_session_send_message(session, peer, send_message, message_len, __message_result_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("[Send Message]", ret);
+ __test_finish(0);
+ }
}
static void __session_terminated_cb(wifi_aware_session_h session,
wifi_aware_session_unset_message_received_cb(session);
wifi_aware_session_destroy(session);
}
+ __test_finish(0);
}
static bool __set_publish_config(wifi_aware_publish_h publish)
printf("[Session][Publish] Create\n");
int ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_wifi_aware_session);
- if (ret == WIFI_AWARE_ERROR_NONE)
+ if (ret == WIFI_AWARE_ERROR_NONE) {
printf("\tSession: %p\n", g_wifi_aware_session);
- else
+ } else {
PRINT_FAILURE_ERROR("\tSession:", ret);
+ __test_finish(0);
+ }
ret = wifi_aware_publish_create(&g_publish_handle);
if (ret != WIFI_AWARE_ERROR_NONE)
if (__set_publish_config(g_publish_handle) == false) {
PRINT_FAILURE("\tPublish Config: Failure");
+ __test_finish(0);
return;
}
ret = wifi_aware_session_set_message_received_cb(g_wifi_aware_session, __message_received_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tMessage Received CB:", ret);
+ __test_finish(0);
+ }
ret = wifi_aware_session_set_terminated_cb(g_wifi_aware_session, __session_terminated_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tSession Terminated CB:", ret);
+ __test_finish(0);
+ }
printf("[Publish] Request\n");
ret = wifi_aware_session_publish(g_wifi_aware_session, g_publish_handle, __published_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("[Publish]", ret);
+ __test_finish(0);
+ }
}
void run_common()
int ret = 0;
RET_IF_LOOP_IS_NULL();
+ test_init();
ret = wifi_aware_enable(__enabled_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("[Enable]", ret);
+ __test_finish(0);
+ }
}
void clear_resources()
PRINT_FAILURE_ERROR("[Initialize]", ret);
}
+void test_deinit()
+{
+ wifi_aware_disable();
+ int ret = wifi_aware_deinitialize();
+ if (ret == WIFI_AWARE_ERROR_NONE)
+ PRINT_SUCCESS("[Deinitialize] Success");
+ else
+ PRINT_FAILURE_ERROR("[Deinitialize]", ret);
+}
+
typedef void (*test_func)(void);
test_func g_menu_func[] = {
[CMD_QUIT] = test_quit,
- [CMD_FULL_MENU] = test_full_menu,
[CMD_OPEN_UNSOLICITED] = test_open_unsolicited,
[CMD_OPEN_SOLICITED] = test_open_solicited,
[CMD_PSK_UNSOLICITED] = test_psk_unsolicited,
static char buf[1024];
int n;
- if (g_initialized == false) {
- test_init();
- g_initialized = true;
- }
-
errno = 0;
n = read(fd, buf, 1024);
if (n == 0) {
printf("Error: read() from stdin returns 0.\n");
} else if (n < 0) {
printf("input: read, err\n");
+ } else if (buf[0] == '0') {
+ test_deinit();
+ printf(MAKE_GREEN"Test is finished.."RESET_COLOR"\n");
+ exit(1);
+ } else if (buf[0] == '\n' || buf[0] == '\r') {
+ __usage_full();
} else if (n - 1 > 0 && n < 1024) {
buf[n - 1] = '\0'; /* remove new line... */
printf("\n\n");
enum {
CMD_QUIT,
- CMD_FULL_MENU,
CMD_OPEN_PASSIVE,
CMD_OPEN_ACTIVE,
static char *g_menu_str[] = {
[CMD_QUIT]
= "Quit",
- [CMD_FULL_MENU]
- = "Full Menu",
[CMD_OPEN_PASSIVE]
= "Open + Passive",
[CMD_OPEN_ACTIVE]
static bool g_service_discovered = false;
+void test_deinit();
+
+static void __test_finish(int is_validated)
+{
+ if (is_validated)
+ printf(MAKE_GREEN"[TEST RESULT] Wi-Fi Aware validated!"RESET_COLOR"\n");
+ else
+ printf(MAKE_RED"[TEST RESULT] Wi-Fi Aware invalidated!"RESET_COLOR"\n");
+ test_deinit();
+}
+
static inline void __usage_full()
{
int i;
static void __subscribed_cb(wifi_aware_session_h session,
wifi_aware_error_e error, void *user_data)
{
- if (error == WIFI_AWARE_ERROR_NONE)
+ if (error == WIFI_AWARE_ERROR_NONE) {
PRINT_SUCCESS("[CB][Subscribe] Requested");
- else
+ } else {
PRINT_FAILURE_ERROR("[CB][Subscribe]", error);
+ __test_finish(0);
}
+}
static void __data_path_terminated_cb(wifi_aware_data_path_h data_path,
wifi_aware_termination_reason_e reason, void *user_data)
wifi_aware_data_path_unset_terminated_cb(data_path);
wifi_aware_data_path_destroy(data_path);
}
+ __test_finish(1);
}
static void __open_cb(wifi_aware_data_path_h data_path, wifi_aware_error_e error, void *user_data)
printf("\tPeer's Port: %d\n", port);
else
PRINT_FAILURE_ERROR("\tPeer's Port:", ret);
+ __test_finish(1);
}
else {
- PRINT_FAILURE("[CB][OpenDataPath Requested] Failure(%d:%s) %p", error, __print_error(error), data_path);
+ PRINT_FAILURE("[CB][OpenDataPath] Failure(%d:%s) %p", error, __print_error(error), data_path);
+ __test_finish(0);
}
}
printf("[OpenDataPath] Request\n");
if (g_peer == NULL) {
printf("Peer is NULL\n");
+ __test_finish(0);
return;
}
int ret = wifi_aware_data_path_create(session, g_peer, &g_ndp);
if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tHandle:", ret);
+ __test_finish(0);
return;
}
printf("\tHandle: %p\n", g_ndp);
ret = wifi_aware_data_path_set_terminated_cb(g_ndp, __data_path_terminated_cb, NULL);
if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tSet TerminatedCallback:", ret);
+ __test_finish(0);
return;
}
ret = wifi_aware_data_path_set_security(g_ndp, g_security_type);
if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tSecurity Type:", ret);
+ __test_finish(0);
return;
}
printf("\tSecurity Type: ");
break;
default:
PRINT_FAILURE("Unknown security type");
+ __test_finish(0);
return;
}
ret = wifi_aware_data_path_open(g_ndp, __open_cb, NULL);
if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("[OpenDataPath]", ret);
+ __test_finish(0);
}
}
static void __message_result_cb(wifi_aware_session_h session, wifi_aware_error_e error, void *user_data)
{
- if (error == WIFI_AWARE_ERROR_NONE)
+ if (error == WIFI_AWARE_ERROR_NONE) {
PRINT_SUCCESS("[CB][Send Message] Requested");
- else
+ } else {
PRINT_FAILURE_ERROR("[CB][Send Message]", error);
+ __test_finish(0);
+ }
}
static void __message_received_cb(wifi_aware_session_h session, wifi_aware_peer_h peer,
ret = wifi_aware_peer_get_mac(peer, &mac);
if (ret != WIFI_AWARE_ERROR_NONE) {
printf("\tPeer's NMI: Failure(%d:%s)\n", ret, __print_error(ret));
+ __test_finish(0);
+ return;
} else {
printf("\tPeer's NMI: ");
if (mac != NULL) {
size_t message_len = strlen(MSG_SUB_TO_PUB);
memcpy(send_message, MSG_SUB_TO_PUB, message_len);
int ret = wifi_aware_session_send_message(session, peer, send_message, message_len, __message_result_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("[Send Message]", ret);
+ __test_finish(0);
+ }
}
}
wifi_aware_session_unset_message_received_cb(session);
wifi_aware_session_destroy(session);
}
+ __test_finish(0);
}
static bool __set_subscribe_config(wifi_aware_subscribe_h subscribe)
printf("[Session][Subscribe] Create\n");
int ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_wifi_aware_session);
- if (ret == WIFI_AWARE_ERROR_NONE)
+ if (ret == WIFI_AWARE_ERROR_NONE) {
printf("\tSession: %p\n", g_wifi_aware_session);
- else
+ } else {
PRINT_FAILURE_ERROR("\tSession:", ret);
+ __test_finish(0);
+ }
ret = wifi_aware_subscribe_create(&g_subscribe_handle);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tSubscribe Config:", ret);
+ __test_finish(0);
+ }
if (__set_subscribe_config(g_subscribe_handle) == false) {
PRINT_FAILURE("\tSubscribeConfig: Failure");
+ __test_finish(0);
return;
}
g_service_discovered = false;
ret = wifi_aware_session_set_service_discovered_cb(g_wifi_aware_session, __service_discovered_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tService Discovered CB:", ret);
+ __test_finish(0);
+ }
ret = wifi_aware_session_set_message_received_cb(g_wifi_aware_session, __message_received_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tMessage Received CB:", ret);
+ __test_finish(0);
+ }
ret = wifi_aware_session_set_terminated_cb(g_wifi_aware_session, __session_terminated_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("\tSession Terminated CB:", ret);
+ __test_finish(0);
+ }
printf("[Subscribe] Request\n");
ret = wifi_aware_session_subscribe(g_wifi_aware_session, g_subscribe_handle, __subscribed_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("[Subscribe]", ret);
+ __test_finish(0);
+ }
}
void run_common()
int ret = 0;
RET_IF_LOOP_IS_NULL();
+ test_init();
ret = wifi_aware_enable(__enabled_cb, NULL);
- if (ret != WIFI_AWARE_ERROR_NONE)
+ if (ret != WIFI_AWARE_ERROR_NONE) {
PRINT_FAILURE_ERROR("[Enable]", ret);
+ __test_finish(0);
+ }
}
void clear_resources()
PRINT_FAILURE_ERROR("[Initialize]", ret);
}
+void test_deinit()
+{
+ wifi_aware_disable();
+ int ret = wifi_aware_deinitialize();
+ if (ret == WIFI_AWARE_ERROR_NONE)
+ PRINT_SUCCESS("[Deinitialize] Success");
+ else
+ PRINT_FAILURE_ERROR("[Deinitialize]", ret);
+}
+
typedef void (*test_func)(void);
test_func g_menu_func[] = {
[CMD_QUIT] = test_quit,
- [CMD_FULL_MENU] = test_full_menu,
[CMD_OPEN_PASSIVE] = test_open_passive,
[CMD_OPEN_ACTIVE] = test_open_active,
[CMD_PSK_PASSIVE] = test_psk_passive,
static char buf[1024];
int n;
- if (g_initialized == false) {
- test_init();
- g_initialized = true;
- }
-
errno = 0;
n = read(fd, buf, 1024);
if (n == 0) {