diff --git a/communication_lite/lwip_hal/src/lwip_func_test.c b/communication_lite/lwip_hal/src/lwip_func_test.c index 7c7d2c771bf43b77cc7e143a7a2befe74dd9174b..891132b7e87eafd81f3e6bb970e48360d6edaf4f 100755 --- a/communication_lite/lwip_hal/src/lwip_func_test.c +++ b/communication_lite/lwip_hal/src/lwip_func_test.c @@ -554,7 +554,8 @@ LITE_TEST_CASE(LwipFuncTestSuite, testTcp, Function | MediumTest | Level2) printf("[testTcp] wait[4]...\n"); } TEST_ASSERT_EQUAL_INT(1, g_clientResult); - TEST_ASSERT_EQUAL_INT(1, g_serverResult); + TEST_ASSERT_EQUAL_INT(1, g_serverResult); + osDelay(ONE_SECOND); g_serverWait = 1; g_clientWait = 1; @@ -650,18 +651,46 @@ LITE_TEST_CASE(LwipFuncTestSuite, testSelectTimeout, Function | MediumTest | Lev /** * @tc.number : SUB_COMMUNICATION_LWIP_SDK_0500 - * @tc.name : test socket + * @tc.name : test select with one clients * @tc.desc : [C- SOFTWARE -0200] */ -LITE_TEST_CASE(LwipFuncTestSuite, testSocket, Function | MediumTest | Level2) +LITE_TEST_CASE(LwipFuncTestSuite, testSelectOneClient, Function | MediumTest | Level2) { - int fdFail = -1; - int fdSuccess = -1; + osThreadAttr_t tSelect; + tSelect.name = "SelectServerTask"; + tSelect.attr_bits = 0U; + tSelect.cb_mem = NULL; + tSelect.cb_size = 0U; + tSelect.stack_mem = NULL; + tSelect.stack_size = DEF_TASK_STACK; + tSelect.priority = DEF_TASK_PRIORITY; - fdFail = socket(0, 0, 0); - TEST_ASSERT_EQUAL_INT(LWIP_TEST_FAIL, fdFail); - fdSuccess = socket(AF_INET, SOCK_STREAM, 0); - TEST_ASSERT_NOT_EQUAL(LWIP_TEST_FAIL, fdSuccess); + g_selectTimeout = 5; + osThreadId_t serverTaskId = osThreadNew((osThreadFunc_t)SelectServerTask, NULL, &tSelect); + TEST_ASSERT_NOT_NULL(serverTaskId); + osDelay(ONE_SECOND); + if (serverTaskId == NULL) { + printf("create select server task fail!\n"); + } else { + osThreadAttr_t tClient; + osThreadId_t clientTaskId; + tClient.name = "CommTcpClientTask"; + tClient.attr_bits = 0U; + tClient.cb_mem = NULL; + tClient.cb_size = 0U; + tClient.stack_mem = NULL; + tClient.stack_size = DEF_TASK_STACK; + tClient.priority = DEF_TASK_PRIORITY; + clientTaskId = osThreadNew((osThreadFunc_t)CommTcpClientTask, NULL, &tClient); + TEST_ASSERT_NOT_NULL(clientTaskId); + } + + g_selectFlag = 1; + while (g_selectFlag) { + osDelay(ONE_SECOND); + printf("wait select server finish...\n"); + } + TEST_ASSERT_EQUAL_INT(0, g_selectResult); } /**