static void utc_taskmanager_broadcast_n(void) { int ret; ret = task_manager_broadcast(TM_INVALID_BROAD_MSG, NULL, TM_RESPONSE_WAIT_INF); TC_ASSERT_EQ("task_manager_broadcast", ret, TM_INVALID_PARAM); TC_SUCCESS_RESULT(); }
int user_main(int argc, char *argv[]) #endif { int handle_actionmanager = 0; int ret; app_info_list_t *action_manager_info; char *msg1 = (char *)malloc(sizeof(char) * 9); char *msg2 = (char *)malloc(sizeof(char) * 12); char *msg3 = (char *)malloc(sizeof(char) * 13); char *msg4 = (char *)malloc(sizeof(char) * 14); char *msg5 = (char *)malloc(sizeof(char) * 10); strcpy(msg1, "alarm_on"); strcpy(msg2, "alarm_pause"); strcpy(msg3, "alarm_resume"); strcpy(msg4, "alarm_restart"); strcpy(msg5, "alarm_off"); action_manager_info = (app_info_list_t *)task_manager_getinfo_with_name("action_manager", TM_RESPONSE_WAIT_INF); if (action_manager_info != NULL) { handle_actionmanager = action_manager_info->task.handle; } task_manager_clean_infolist(&action_manager_info); printf("\nUser App sends Alarm On message to Action Manager\n"); ret = task_manager_unicast(handle_actionmanager, msg1, strlen(msg1) + 1, TM_RESPONSE_WAIT_INF); if (ret != OK) { printf("ERROR : SEND SIGNAL %d\n", ret); } else { printf("Alarm On message is successfully sended!\n"); } sleep(3); printf("\nUser App sends Alarm Pause message to Action Manager\n"); ret = task_manager_unicast(handle_actionmanager, msg2, strlen(msg2) + 1, TM_RESPONSE_WAIT_INF); if (ret != OK) { printf("ERROR : SEND SIGNAL %d\n", ret); } else { printf("Alarm Pause message is successfully sended!\n"); } sleep(3); printf("\nUser App sends Alarm Resume message to Action Manager\n"); ret = task_manager_unicast(handle_actionmanager, msg3, strlen(msg3) + 1, TM_RESPONSE_WAIT_INF); if (ret != OK) { printf("ERROR : SEND SIGNAL %d\n", ret); } else { printf("Alarm Resume message is successfully sended!\n"); } sleep(3); printf("\nUser App sends Alarm Restart message to Action Manager\n"); ret = task_manager_unicast(handle_actionmanager, msg4, strlen(msg4) + 1, TM_RESPONSE_WAIT_INF); if (ret != OK) { printf("ERROR : SEND SIGNAL %d\n", ret); } else { printf("Alarm Restart message is successfully sended!\n"); } sleep(3); printf("\nUser App sends Alarm Off message to Action Manager\n"); ret = task_manager_unicast(handle_actionmanager, msg5, strlen(msg5) + 1, TM_RESPONSE_WAIT_INF); if (ret != OK) { printf("ERROR : SEND SIGNAL %d\n", ret); } else { printf("Alarm Off message is successfully sended!\n"); } free(msg1); free(msg2); free(msg3); free(msg4); free(msg5); sleep(1); printf("\nUser App broadcasts WIFI_ON message\n"); ret = task_manager_broadcast(TM_BROADCAST_WIFI_ON); if (ret != OK) { printf("ERROR : SEND SIGNAL %d\n", ret); } else { printf("WIFI_ON message is successfully broadcasted!\n"); } sleep(1); printf("\nUser App broadcasts WIFI_OFF message\n"); ret = task_manager_broadcast(TM_BROADCAST_WIFI_OFF); if (ret != OK) { printf("ERROR : SEND SIGNAL %d\n", ret); } else { printf("WIFI_OFF message is successfully broadcasted!\n"); } return 0; }
static void utc_taskmanager_broadcast_p(void) { int sleep_cnt = 0; tm_msg_t user_data; sem_init(&tm_broad_sem, 0, 1); broad_wifi_on_cnt = 0; broad_wifi_off_cnt = 0; broad_undefined_cnt = 0; broadcast_data_flag = -1; user_data.msg_size = strlen("WIFI_ON") + 1; user_data.msg = malloc(user_data.msg_size); strncpy(user_data.msg, "WIFI_ON", user_data.msg_size); (void)task_manager_broadcast(TM_BROADCAST_WIFI_ON, &user_data, TM_NO_RESPONSE); while (1) { sleep(1); if (broad_wifi_on_cnt == TM_BROAD_TASK_NUM) { break; } TC_ASSERT_LEQ_CLEANUP("task_manager_broadcast", sleep_cnt, 10, sem_destroy(&tm_broad_sem)); sleep_cnt++; } TC_ASSERT_EQ_CLEANUP("task_manager_broadcast", broad_wifi_on_cnt, TM_BROAD_TASK_NUM, sem_destroy(&tm_broad_sem); free(user_data.msg)); TC_ASSERT_EQ_CLEANUP("task_manager_broadcast", broad_wifi_off_cnt, 0, sem_destroy(&tm_broad_sem); free(user_data.msg)); TC_ASSERT_EQ_CLEANUP("task_manager_broadcast", broad_undefined_cnt, 0, sem_destroy(&tm_broad_sem); free(user_data.msg)); TC_ASSERT_EQ_CLEANUP("task_manager_broadcast", broadcast_data_flag, 0, sem_destroy(&tm_broad_sem); free(user_data.msg)); free(user_data.msg); broad_wifi_on_cnt = 0; broad_wifi_off_cnt = 0; broad_undefined_cnt = 0; sleep_cnt = 0; (void)task_manager_broadcast(TM_BROADCAST_WIFI_OFF, NULL, TM_NO_RESPONSE); while (1) { usleep(500); if (broad_wifi_off_cnt == TM_BROAD_TASK_NUM) { break; } TC_ASSERT_LEQ_CLEANUP("task_manager_broadcast", sleep_cnt, 10, sem_destroy(&tm_broad_sem)); sleep_cnt++; } TC_ASSERT_EQ_CLEANUP("task_manager_broadcast", broad_wifi_on_cnt, 0, sem_destroy(&tm_broad_sem)); TC_ASSERT_EQ_CLEANUP("task_manager_broadcast", broad_wifi_off_cnt, TM_BROAD_TASK_NUM, sem_destroy(&tm_broad_sem)); TC_ASSERT_EQ_CLEANUP("task_manager_broadcast", broad_undefined_cnt, 0, sem_destroy(&tm_broad_sem)); broad_wifi_on_cnt = 0; broad_wifi_off_cnt = 0; broad_undefined_cnt = 0; sleep_cnt = 0; (void)task_manager_broadcast(tm_broadcast_undefined_msg, NULL, TM_NO_RESPONSE); while (1) { usleep(500); if (broad_undefined_cnt == TM_BROAD_UNDEF_NUM) { break; } TC_ASSERT_LEQ_CLEANUP("task_manager_broadcast", sleep_cnt, 10, sem_destroy(&tm_broad_sem)); sleep_cnt++; } TC_ASSERT_EQ_CLEANUP("task_manager_broadcast", broad_wifi_on_cnt, 0, sem_destroy(&tm_broad_sem)); TC_ASSERT_EQ_CLEANUP("task_manager_broadcast", broad_wifi_off_cnt, 0, sem_destroy(&tm_broad_sem)); TC_ASSERT_EQ_CLEANUP("task_manager_broadcast", broad_undefined_cnt, TM_BROAD_UNDEF_NUM, sem_destroy(&tm_broad_sem)); sem_destroy(&tm_broad_sem); TC_SUCCESS_RESULT(); }