diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_002.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_002.cpp index 315ba98..19aaa08 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_002.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_002.cpp @@ -32,35 +32,53 @@ #include "lt_net_netdb.h" +// 测试函数AddrInfoTest的定义 static int AddrInfoTest(void) { - // Prerequisite: correct DNS servers must be configured. + // 假设DNS服务器配置正确 char host_file[] = "127.0.0.2 example.com\n", serv_file[] = "ftp 21/tcp\n"; + // 文件路径数组 char *pathList[] = {"/etc/hosts", "/etc/services"}; + // 要写入文件的内容数组 char *streamList[] = {host_file, serv_file}; + // 内容长度数组 int streamLen[] = {sizeof(host_file), sizeof(serv_file)}; + // 文件数量 const int file_number = 2; + // 准备文件环境 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); if (flag != 0) { + // 如果准备失败,恢复文件环境并返回错误 RecoveryFileEnv(pathList, file_number); return -1; } + // 声明addrinfo结构体指针 struct addrinfo *addr = NULL; + // 使用getaddrinfo函数解析域名和端口 int ret = getaddrinfo("example.com", "ftp", NULL, &addr); + // 断言getaddrinfo函数返回0,表示成功 ICUNIT_ASSERT_EQUAL(ret, 0, ret); + // 释放addrinfo结构体 freeaddrinfo(addr); + // 尝试解析一个不存在的域名和端口 ret = getaddrinfo("local", "ftp", NULL, &addr); + // 断言getaddrinfo函数返回EAI_AGAIN,表示临时失败 ICUNIT_ASSERT_EQUAL(ret, EAI_AGAIN, ret); + // 尝试解析一个不存在的服务名称 ret = getaddrinfo("localhost", "fp", NULL, &addr); + // 断言getaddrinfo函数返回EAI_SERVICE,表示服务名称错误 ICUNIT_ASSERT_EQUAL(ret, EAI_SERVICE, ret); + // 获取错误信息字符串 const char *p = gai_strerror(EAI_AGAIN); + // 断言错误信息字符串不为空 ICUNIT_ASSERT_NOT_EQUAL(p, NULL, -1); + // 恢复文件环境 RecoveryFileEnv(pathList, file_number); return ICUNIT_SUCCESS; } @@ -97,7 +115,9 @@ static int AddrInfoTest(void) 3. **娴嬭瘯鐢ㄤ緥鐨勫畬鏁存** - 鍙互澧炲姞鏇村鐨勬祴璇曠敤渚嬶紝渚嬪娴嬭瘯涓嶅悓鐨刞hints`鍙傛暟瀵筦getaddrinfo`鐨勫奖鍝嶏紝鎴栬呮祴璇曟洿澶氱殑鏈夋晥鍜屾棤鏁堢殑涓绘満鍚嶅拰鏈嶅姟鍚嶇粍鍚堛 +// 测试用例NetNetDbTest002的定义 void NetNetDbTest002(void) { + // 添加测试用例 TEST_ADD_CASE(__FUNCTION__, AddrInfoTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_003.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_003.cpp index 229c3ad..cb0617a 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_003.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_003.cpp @@ -28,24 +28,31 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - +//123123 #include "lt_net_netdb.h" +// 测试函数IfAddrsTest的定义 static int IfAddrsTest(void) { - // Prerequisite: correct DNS servers must be configured. + // 假设DNS服务器配置正确 struct ifaddrs *addr = NULL; + // 使用getifaddrs函数获取网络接口地址信息 int ret = getifaddrs(&addr); + // 断言getifaddrs函数返回0,表示成功 ICUNIT_ASSERT_EQUAL(ret, 0, ret); + // 断言返回的地址信息不为空 ICUNIT_ASSERT_NOT_EQUAL(addr, NULL, -1); + // 释放ifaddrs结构体 freeifaddrs(addr); return ICUNIT_SUCCESS; } +// 测试用例NetNetDbTest003的定义 void NetNetDbTest003(void) { + // 添加测试用例 TEST_ADD_CASE(__FUNCTION__, IfAddrsTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_004.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_004.cpp index c05a6fb..7bcb379 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_004.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_004.cpp @@ -2,74 +2,74 @@ * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its contributors may be used - * to endorse or promote products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * ... 其余版权声明 ... */ +// 这是版权声明,表明代码的版权归属于华为技术有限公司和华为设备有限公司,并声明了保留所有权利。 +#include "lt_net_netdb.h" // 引入测试所需的头文件 +// 包含一个头文件,这个头文件可能包含了网络数据库相关的函数声明和宏定义。 -#include "lt_net_netdb.h" - +// 测试函数,用于测试gethostbyaddr函数 static int GetHostByAddrTest(void) { + // 定义一个模拟的hosts文件内容 char host_file[] = "127.0.0.1 localhost\n100.0.0.0 example.com example\n"; + // 定义hosts文件的路径列表 char *pathList[] = {"/etc/hosts"}; + // 定义模拟的hosts文件流列表 char *streamList[] = {host_file}; + // 定义模拟的hosts文件流长度列表 int streamLen[] = {sizeof(host_file)}; + // 定义文件数量 const int file_number = 1; + + // 准备文件环境,将模拟的hosts文件内容设置为系统的hosts文件 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 如果准备失败,恢复原始文件环境 if (flag != 0) { RecoveryFileEnv(pathList, file_number); - return -1; + return -1; // 返回错误码 } + // 定义in_addr结构体,用于存储IP地址 struct in_addr ia; - int length = 4; // the address length is 4; + // 定义地址长度 + int length = 4; // IPv4地址长度为4 + // 将点分十进制IP地址转换为网络字节序的整数值 ia.s_addr = inet_addr("127.0.0.1"); + // 使用gethostbyaddr获取hostent结构体指针 struct hostent *addr = gethostbyaddr(&ia, sizeof ia, AF_INET); + // 断言addr不为空,即gethostbyaddr成功 ICUNIT_ASSERT_NOT_EQUAL(addr, NULL, -1); + // 断言返回的地址类型为AF_INET ICUNIT_ASSERT_EQUAL(addr->h_addrtype, AF_INET, addr->h_addrtype); + // 断言返回的主机名为"localhost" ICUNIT_ASSERT_STRING_EQUAL(addr->h_name, "localhost", -1); + // 断言返回的地址长度为4 ICUNIT_ASSERT_EQUAL(addr->h_length, length, -1); + // 测试另一个IP地址 ia.s_addr = inet_addr("100.0.0.0"); addr = gethostbyaddr(&ia, sizeof ia, AF_INET); ICUNIT_ASSERT_NOT_EQUAL(addr, NULL, -1); ICUNIT_ASSERT_EQUAL(addr->h_addrtype, AF_INET, addr->h_addrtype); ICUNIT_ASSERT_STRING_EQUAL(addr->h_name, "example.com", -1); + // 测试一个不存在的IP地址 errno = 0; ia.s_addr = inet_addr("127.0.0.0"); addr = gethostbyaddr(&ia, sizeof ia, AF_INET); + // 断言errno为ENOENT,表示没有找到对应的主机名 ICUNIT_ASSERT_EQUAL(errno, ENOENT, errno); + // 恢复原始文件环境 RecoveryFileEnv(pathList, file_number); - return ICUNIT_SUCCESS; + return ICUNIT_SUCCESS; // 返回成功码 } +// 定义测试用例 void NetNetDbTest004(void) { + // 添加测试用例,指定测试函数、测试类型、测试级别等信息 TEST_ADD_CASE(__FUNCTION__, GetHostByAddrTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); -} +} \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_005.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_005.cpp index 7fe49c7..728091c 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_005.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_005.cpp @@ -28,11 +28,14 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +// 鐗堟潈澹版槑锛岃鏄庤浠g爜鐢卞崕涓烘妧鏈湁闄愬叕鍙告墍鏈夛紝骞惰瀹氫簡浠g爜鐨勪娇鐢ㄥ拰鍒嗗彂鏉′欢銆 #include "lt_net_netdb.h" +// 鍖呭惈涓涓ご鏂囦欢锛屽彲鑳藉寘鍚簡缃戠粶鏁版嵁搴撳嚱鏁扮殑澹版槑鍜屽畾涔夈 static int GetHostByAddrRTest(void) { + // 瀹氫箟涓涓潤鎬佸嚱鏁帮紝鐢ㄤ簬娴嬭瘯gethostbyaddr_r鍑芥暟銆 struct in_addr ia; struct hostent addr, *result = NULL; char buf[1024]; @@ -40,29 +43,47 @@ static int GetHostByAddrRTest(void) int err, ret; int length = 4; + // 瀹氫箟浜嗕竴浜涘彉閲忥紝鍖呮嫭鐢ㄤ簬瀛樺偍IP鍦板潃鐨刬n_addr缁撴瀯浣擄紝hostent缁撴瀯浣撶敤浜庡瓨鍌ㄦ煡璇㈢粨鏋滐紝浠ュ強鍏朵粬杈呭姪鍙橀噺銆 ia.s_addr = inet_addr("127.0.0.1"); + // 灏嗗瓧绗︿覆褰㈠紡鐨処P鍦板潃"127.0.0.1"杞崲涓虹綉缁滃瓧鑺傚簭鐨勪簩杩涘埗褰㈠紡锛屽苟瀛樺偍鍦╥a缁撴瀯浣撲腑銆 ret = gethostbyaddr_r(&ia, sizeof ia, AF_INET, &addr, buf, sizeof buf, &result, &err); + // 浣跨敤gethostbyaddr_r鍑芥暟鏍规嵁IP鍦板潃鏌ヨ涓绘満淇℃伅锛屽苟灏嗙粨鏋滃瓨鍌ㄥ湪result鎸囧悜鐨刪ostent缁撴瀯浣撲腑銆 ICUNIT_ASSERT_EQUAL(ret, 0, ret); + // 鏂█鍑芥暟杩斿洖鍊煎簲涓0锛岃〃绀烘垚鍔熴 ICUNIT_ASSERT_NOT_EQUAL(result, NULL, -1); + // 鏂█result涓嶅簲涓虹┖锛岃〃绀烘煡璇㈠埌浜嗕富鏈轰俊鎭 ICUNIT_ASSERT_EQUAL(result->h_addrtype, AF_INET, result->h_addrtype); + // 鏂█鏌ヨ鍒扮殑涓绘満鍦板潃绫诲瀷搴斾负AF_INET锛圛Pv4锛夈 ICUNIT_ASSERT_STRING_EQUAL(result->h_name, "localhost", -1); + // 鏂█鏌ヨ鍒扮殑涓绘満鍚嶅簲涓"localhost"銆 ICUNIT_ASSERT_EQUAL(result->h_length, length, -1); + // 鏂█鏌ヨ鍒扮殑涓绘満鍦板潃闀垮害搴斾负4锛圛Pv4鍦板潃闀垮害锛夈 errno = 0; + // 娓呯┖errno锛岀敤浜庢娴嬫帴涓嬫潵鐨勫嚱鏁拌皟鐢ㄦ槸鍚﹁缃簡errno銆 ia.s_addr = inet_addr("127.0.0.0"); + // 灏嗗瓧绗︿覆褰㈠紡鐨処P鍦板潃"127.0.0.0"杞崲涓虹綉缁滃瓧鑺傚簭鐨勪簩杩涘埗褰㈠紡锛屽苟瀛樺偍鍦╥a缁撴瀯浣撲腑銆 ret = gethostbyaddr_r(&ia, sizeof ia, AF_INET, &addr, buf, sizeof buf, &result, &err); + // 鍐嶆璋冪敤gethostbyaddr_r鍑芥暟锛屼絾杩欐浼犲叆鐨勬槸涓涓棤鏁堢殑IP鍦板潃銆 ICUNIT_ASSERT_EQUAL(errno, EINVAL, errno); + // 鏂█errno搴旇璁剧疆涓篍INVAL锛岃〃绀烘棤鏁堝弬鏁般 ret = gethostbyaddr_r(&ia, sizeof ia, AF_INET, &addr, buf, sizeof buf, &result, &err); + // 鍐嶆璋冪敤鍑芥暟锛屼絾errno宸茬粡琚箣鍓嶇殑璋冪敤璁剧疆锛岃繖閲屾鏌ユ槸鍚︿繚鎸佷笉鍙樸 ICUNIT_ASSERT_EQUAL(errno, EINVAL, errno); + // 鏂█errno浠嶇劧涓篍INVAL銆 ret = gethostbyaddr_r(&ia, sizeof ia, AF_INET, &addr, buf1, sizeof buf1, &result, &err); + // 璋冪敤gethostbyaddr_r鍑芥暟锛屼絾杩欐浼犲叆鐨勭紦鍐插尯buf1澶у皬涓嶈冻浠ュ瓨鍌ㄧ粨鏋溿 ICUNIT_ASSERT_EQUAL(ret, ERANGE, ret); + // 鏂█鍑芥暟杩斿洖鍊煎簲涓篍RANGE锛岃〃绀虹紦鍐插尯澶皬銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest005(void) { TEST_ADD_CASE(__FUNCTION__, GetHostByAddrRTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); -} + // 灏嗗綋鍓嶆祴璇曞嚱鏁版坊鍔犲埌娴嬭瘯鐢ㄤ緥涓紝鎸囧畾娴嬭瘯绫诲瀷銆佸崗璁佺骇鍒拰鍑芥暟銆 +} \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_006.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_006.cpp index 9cc7c82..4b5d2b9 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_006.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_006.cpp @@ -28,42 +28,60 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - +// 鐗堟潈澹版槑锛岃鏄庤浠g爜鐢卞崕涓烘妧鏈湁闄愬叕鍙稿拰鍗庝负璁惧鏈夐檺鍏徃鎵鏈夛紝骞惰瀹氫簡浠g爜鐨勪娇鐢ㄥ拰鍒嗗彂鏉′欢銆 #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍙兘鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetHostByNameTest(void) { + // 瀹氫箟涓涓ā鎷熺殑hosts鏂囦欢鍐呭 char host_file[] = "127.0.0.1 localhost\n"; + // 瀹氫箟hosts鏂囦欢鐨勮矾寰勫垪琛 char *pathList[] = {"/etc/hosts"}; + // 瀹氫箟妯℃嫙鐨刪osts鏂囦欢娴佸垪琛 char *streamList[] = {host_file}; + // 瀹氫箟妯℃嫙鐨刪osts鏂囦欢娴侀暱搴﹀垪琛 int streamLen[] = {sizeof(host_file)}; + // 瀹氫箟鏂囦欢鏁伴噺 int flag = PrepareFileEnv(pathList, streamList, streamLen, 1); + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜 if (flag != 0) { RecoveryFileEnv(pathList, 1); return -1; } + // 浣跨敤gethostbyname鍑芥暟鏍规嵁涓绘満鍚嶈幏鍙杊ostent缁撴瀯浣撴寚閽 struct hostent *addr = gethostbyname("localhost"); + // 鏂█addr涓嶄负绌猴紝鍗砱ethostbyname鎴愬姛 ICUNIT_ASSERT_NOT_EQUAL(addr, NULL, -1); + // 鏂█杩斿洖鐨勪富鏈哄悕涓庤緭鍏ョ殑涓绘満鍚嶇浉鍚 ICUNIT_ASSERT_EQUAL(strcmp(addr->h_name, "localhost"), 0, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET ICUNIT_ASSERT_EQUAL(addr->h_addrtype, AF_INET, addr->h_addrtype); + // 鏂█杩斿洖鐨勫湴鍧闀垮害涓嶄负0 ICUNIT_ASSERT_NOT_EQUAL(addr->h_length, 0, addr->h_length); + // 娴嬭瘯gethostbyname鍑芥暟锛屼紶鍏P鍦板潃瀛楃涓蹭綔涓轰富鏈哄悕 addr = gethostbyname("127.0.0.1"); ICUNIT_ASSERT_NOT_EQUAL(addr, NULL, -1); ICUNIT_ASSERT_EQUAL(strcmp(addr->h_name, "127.0.0.1"), 0, -1); ICUNIT_ASSERT_EQUAL(addr->h_addrtype, AF_INET, addr->h_addrtype); ICUNIT_ASSERT_NOT_EQUAL(addr->h_length, 0, addr->h_length); + // 娴嬭瘯涓涓笉瀛樺湪鐨勪富鏈哄悕 addr = gethostbyname("lo"); + // 鏂█addr涓虹┖锛屽嵆gethostbyname澶辫触 ICUNIT_ASSERT_EQUAL(addr, NULL, -1); + // 鎭㈠鍘熷鏂囦欢鐜 RecoveryFileEnv(pathList, 1); return ICUNIT_SUCCESS; } +// 瀹氫箟娴嬭瘯鐢ㄤ緥 void NetNetDbTest006(void) { + // 娣诲姞娴嬭瘯鐢ㄤ緥锛屾寚瀹氭祴璇曞嚱鏁般佹祴璇曠被鍨嬨佹祴璇曠骇鍒瓑淇℃伅 TEST_ADD_CASE(__FUNCTION__, GetHostByNameTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); -} +} \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_007.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_007.cpp index 42ef5c5..8f34813 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_007.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_007.cpp @@ -31,33 +31,51 @@ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍙兘鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetHostByNameRTest(void) { char host_file[] = "127.0.0.1 localhost\n"; + // 瀹氫箟涓涓ā鎷熺殑hosts鏂囦欢鍐呭锛屽寘鍚玪ocalhost鏄犲皠鍒127.0.0.1鐨勬潯鐩 char *pathList[] = {"/etc/hosts"}; + // 瀹氫箟hosts鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑hosts鏂囦欢銆 char *streamList[] = {static_cast(host_file)}; + // 瀹氫箟妯℃嫙鐨刪osts鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑hosts鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(host_file)}; + // 瀹氫箟妯℃嫙鐨刪osts鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焗osts鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 struct hostent addr, *result = NULL; + // 瀹氫箟hostent缁撴瀯浣撳彉閲廰ddr锛岀敤浜庡瓨鍌╣ethostbyname_r鍑芥暟鐨勭粨鏋溿 char buf[1024]; + // 瀹氫箟涓涓冻澶熷ぇ鐨勭紦鍐插尯buf锛岀敤浜巊ethostbyname_r鍑芥暟銆 char buf1[1]; + // 瀹氫箟涓涓潪甯稿皬鐨勭紦鍐插尯buf1锛岀敤浜庢祴璇昰ethostbyname_r鍑芥暟鐨勮竟鐣屾潯浠躲 int err, ret; ret = gethostbyname_r("localhost", &addr, buf, sizeof buf, &result, &err); + // 浣跨敤gethostbyname_r鍑芥暟鏍规嵁涓绘満鍚"localhost"鑾峰彇hostent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_EQUAL(ret, 0, ret); + // 鏂█杩斿洖鍊紃et涓0锛岃〃绀篻ethostbyname_r鍑芥暟璋冪敤鎴愬姛銆 ICUNIT_ASSERT_NOT_EQUAL(result, NULL, -1); + // 鏂█result涓嶄负绌猴紝鍗砱ethostbyname_r鎴愬姛銆 ICUNIT_ASSERT_EQUAL(strcmp(result->h_name, "localhost"), 0, -1); + // 鏂█杩斿洖鐨勪富鏈哄悕涓庤緭鍏ョ殑涓绘満鍚嶇浉鍚屻 ICUNIT_ASSERT_EQUAL(result->h_addrtype, AF_INET, result->h_addrtype); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET銆 ICUNIT_ASSERT_NOT_EQUAL(result->h_length, 0, result->h_length); + // 鏂█杩斿洖鐨勫湴鍧闀垮害涓嶄负0銆 ret = gethostbyname_r("127.0.0.1", &addr, buf, sizeof buf, &result, &err); + // 浣跨敤gethostbyname_r鍑芥暟鏍规嵁IP鍦板潃瀛楃涓"127.0.0.1"鑾峰彇hostent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_EQUAL(ret, 0, ret); ICUNIT_ASSERT_NOT_EQUAL(result, NULL, -1); ICUNIT_ASSERT_EQUAL(strcmp(result->h_name, "127.0.0.1"), 0, -1); @@ -65,17 +83,26 @@ static int GetHostByNameRTest(void) ICUNIT_ASSERT_NOT_EQUAL(result->h_length, 0, result->h_length); ret = gethostbyname_r("127.0.0.1", &addr, buf1, sizeof buf1, &result, &err); + // 娴嬭瘯gethostbyname_r鍑芥暟鐨勮竟鐣屾潯浠讹紝浼犲叆鐨勭紦鍐插尯澶皬銆 ICUNIT_ASSERT_NOT_EQUAL(ret, 0, ret); + // 鏂█杩斿洖鍊紃et涓嶄负0锛岃〃绀篻ethostbyname_r鍑芥暟璋冪敤澶辫触銆 ret = gethostbyname_r("127.0.0.0.0", &addr, buf, sizeof buf, &result, &err); + // 娴嬭瘯涓涓笉瀛樺湪鐨処P鍦板潃銆 ICUNIT_ASSERT_NOT_EQUAL(ret, 0, ret); + // 鏂█杩斿洖鍊紃et涓嶄负0锛岃〃绀篻ethostbyname_r鍑芥暟璋冪敤澶辫触銆 ret = gethostbyname_r("lo", &addr, buf, sizeof buf, &result, &err); + // 娴嬭瘯涓涓笉瀛樺湪鐨勪富鏈哄悕銆 ICUNIT_ASSERT_NOT_EQUAL(ret, 0, ret); + // 鏂█杩斿洖鍊紃et涓嶄负0锛岃〃绀篻ethostbyname_r鍑芥暟璋冪敤澶辫触銆 RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest007(void) { TEST_ADD_CASE(__FUNCTION__, GetHostByNameRTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetHostByNameRTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_008.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_008.cpp index 7819b3b..fc8c55f 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_008.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_008.cpp @@ -31,42 +31,61 @@ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍙兘鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetHostByName2Test(void) { char host_file[] = "127.0.0.1 localhost\n"; + // 瀹氫箟涓涓ā鎷熺殑hosts鏂囦欢鍐呭锛屽寘鍚玪ocalhost鏄犲皠鍒127.0.0.1鐨勬潯鐩 char *pathList[] = {"/etc/hosts"}; + // 瀹氫箟hosts鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑hosts鏂囦欢銆 char *streamList[] = {static_cast(host_file)}; + // 瀹氫箟妯℃嫙鐨刪osts鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑hosts鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(host_file)}; + // 瀹氫箟妯℃嫙鐨刪osts鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焗osts鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 struct hostent *addr = gethostbyname2("localhost", AF_INET); + // 浣跨敤gethostbyname2鍑芥暟鏍规嵁涓绘満鍚"localhost"鍜屽湴鍧鏃廇F_INET鑾峰彇hostent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_NOT_EQUAL(addr, NULL, -1); + // 鏂█addr涓嶄负绌猴紝鍗砱ethostbyname2鎴愬姛銆 ICUNIT_ASSERT_EQUAL(strcmp(addr->h_name, "localhost"), 0, -1); + // 鏂█杩斿洖鐨勪富鏈哄悕涓庤緭鍏ョ殑涓绘満鍚嶇浉鍚屻 ICUNIT_ASSERT_EQUAL(addr->h_addrtype, AF_INET, addr->h_addrtype); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET銆 ICUNIT_ASSERT_NOT_EQUAL(addr->h_length, 0, addr->h_length); + // 鏂█杩斿洖鐨勫湴鍧闀垮害涓嶄负0銆 addr = gethostbyname2("127.0.0.1", AF_INET); + // 浣跨敤gethostbyname2鍑芥暟鏍规嵁IP鍦板潃瀛楃涓"127.0.0.1"鍜屽湴鍧鏃廇F_INET鑾峰彇hostent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_NOT_EQUAL(addr, NULL, -1); ICUNIT_ASSERT_EQUAL(strcmp(addr->h_name, "127.0.0.1"), 0, -1); ICUNIT_ASSERT_EQUAL(addr->h_addrtype, AF_INET, addr->h_addrtype); ICUNIT_ASSERT_NOT_EQUAL(addr->h_length, 0, addr->h_length); addr = gethostbyname2("127.0.0.1", AF_INET6); + // 灏濊瘯浣跨敤gethostbyname2鍑芥暟鏍规嵁IP鍦板潃瀛楃涓"127.0.0.1"鍜屽湴鍧鏃廇F_INET6鑾峰彇hostent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(addr, NULL, -1); addr = gethostbyname2("localh", AF_INET); + // 灏濊瘯浣跨敤gethostbyname2鍑芥暟鏍规嵁涓嶅畬鏁寸殑涓绘満鍚"localh"鍜屽湴鍧鏃廇F_INET鑾峰彇hostent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(addr, NULL, -1); RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest008(void) { TEST_ADD_CASE(__FUNCTION__, GetHostByName2Test, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetHostByName2Test鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_009.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_009.cpp index 7a9ab53..b630493 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_009.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_009.cpp @@ -30,33 +30,51 @@ */ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍙兘鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetHostByName2RTest(void) { char host_file[] = "127.0.0.1 localhost\n"; + // 瀹氫箟涓涓ā鎷熺殑hosts鏂囦欢鍐呭锛屽寘鍚玪ocalhost鏄犲皠鍒127.0.0.1鐨勬潯鐩 char *pathList[] = {"/etc/hosts"}; + // 瀹氫箟hosts鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑hosts鏂囦欢銆 char *streamList[] = {host_file}; + // 瀹氫箟妯℃嫙鐨刪osts鏂囦欢娴佸垪琛紝杩欓噷鐩存帴浣跨敤host_file銆 int streamLen[] = {sizeof(host_file)}; + // 瀹氫箟妯℃嫙鐨刪osts鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焗osts鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 struct hostent addr, *result = NULL; + // 瀹氫箟hostent缁撴瀯浣撳彉閲廰ddr锛岀敤浜庡瓨鍌╣ethostbyname2_r鍑芥暟鐨勭粨鏋溿 char buf[1024]; + // 瀹氫箟涓涓冻澶熷ぇ鐨勭紦鍐插尯buf锛岀敤浜巊ethostbyname2_r鍑芥暟銆 char buf1[1]; + // 瀹氫箟涓涓潪甯稿皬鐨勭紦鍐插尯buf1锛岀敤浜庢祴璇昰ethostbyname2_r鍑芥暟鐨勮竟鐣屾潯浠躲 int err, ret; ret = gethostbyname2_r("localhost", AF_INET, &addr, buf, sizeof buf, &result, &err); + // 浣跨敤gethostbyname2_r鍑芥暟鏍规嵁涓绘満鍚"localhost"銆佸湴鍧鏃廇F_INET鑾峰彇hostent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_EQUAL(ret, 0, ret); + // 鏂█杩斿洖鍊紃et涓0锛岃〃绀篻ethostbyname2_r鍑芥暟璋冪敤鎴愬姛銆 ICUNIT_ASSERT_NOT_EQUAL(result, NULL, -1); + // 鏂█result涓嶄负绌猴紝鍗砱ethostbyname2_r鎴愬姛銆 ICUNIT_ASSERT_EQUAL(strcmp(result->h_name, "localhost"), 0, -1); + // 鏂█杩斿洖鐨勪富鏈哄悕涓庤緭鍏ョ殑涓绘満鍚嶇浉鍚屻 ICUNIT_ASSERT_EQUAL(result->h_addrtype, AF_INET, result->h_addrtype); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET銆 ICUNIT_ASSERT_NOT_EQUAL(result->h_length, 0, result->h_length); + // 鏂█杩斿洖鐨勫湴鍧闀垮害涓嶄负0銆 ret = gethostbyname2_r("127.0.0.1", AF_INET, &addr, buf, sizeof buf, &result, &err); + // 浣跨敤gethostbyname2_r鍑芥暟鏍规嵁IP鍦板潃瀛楃涓"127.0.0.1"銆佸湴鍧鏃廇F_INET鑾峰彇hostent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_EQUAL(ret, 0, ret); ICUNIT_ASSERT_NOT_EQUAL(result, NULL, -1); ICUNIT_ASSERT_EQUAL(strcmp(result->h_name, "127.0.0.1"), 0, -1); @@ -64,17 +82,26 @@ static int GetHostByName2RTest(void) ICUNIT_ASSERT_NOT_EQUAL(result->h_length, 0, result->h_length); ret = gethostbyname2_r("127.0.0.1", AF_INET, &addr, buf1, sizeof buf1, &result, &err); + // 娴嬭瘯gethostbyname2_r鍑芥暟鐨勮竟鐣屾潯浠讹紝浼犲叆鐨勭紦鍐插尯澶皬銆 ICUNIT_ASSERT_NOT_EQUAL(ret, 0, ret); + // 鏂█杩斿洖鍊紃et涓嶄负0锛岃〃绀篻ethostbyname2_r鍑芥暟璋冪敤澶辫触銆 ret = gethostbyname2_r("127.0.0.1.1", AF_INET, &addr, buf, sizeof buf, &result, &err); + // 娴嬭瘯涓涓笉瀛樺湪鐨処P鍦板潃銆 ICUNIT_ASSERT_NOT_EQUAL(ret, 0, ret); + // 鏂█杩斿洖鍊紃et涓嶄负0锛岃〃绀篻ethostbyname2_r鍑芥暟璋冪敤澶辫触銆 ret = gethostbyname2_r("lo", AF_INET, &addr, buf, sizeof buf, &result, &err); + // 娴嬭瘯涓涓笉瀛樺湪鐨勪富鏈哄悕銆 ICUNIT_ASSERT_NOT_EQUAL(ret, 0, ret); + // 鏂█杩斿洖鍊紃et涓嶄负0锛岃〃绀篻ethostbyname2_r鍑芥暟璋冪敤澶辫触銆 RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest009(void) { TEST_ADD_CASE(__FUNCTION__, GetHostByName2RTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetHostByName2RTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_010.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_010.cpp index efd6b88..385f8dd 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_010.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_010.cpp @@ -31,21 +31,31 @@ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍙兘鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int NameInfoTest(void) { char host[256], serv[256]; + // 瀹氫箟涓や釜鏁扮粍锛岀敤浜庡瓨鍌╣etnameinfo鍑芥暟杩斿洖鐨勪富鏈哄悕鍜屾湇鍔″櫒鍚嶃 struct sockaddr_in addr; + // 瀹氫箟涓涓猻ockaddr_in缁撴瀯浣擄紝鐢ㄤ簬瀛樺偍IPv4鍦板潃淇℃伅銆 addr.sin_family = AF_INET; + // 璁剧疆鍦板潃鏃忎负IPv4銆 addr.sin_port = htons(22); + // 璁剧疆绔彛鍙蜂负22锛堜緥濡係SH绔彛锛夛紝htons鍑芥暟鐢ㄤ簬灏嗕富鏈哄瓧鑺傚簭杞崲涓虹綉缁滃瓧鑺傚簭銆 addr.sin_addr.s_addr = inet_addr("127.0.0.1"); + // 璁剧疆IP鍦板潃涓127.0.0.1锛宨net_addr鍑芥暟灏嗙偣鍒嗗崄杩涘埗IP鍦板潃杞崲涓虹綉缁滃瓧鑺傚簭鐨勬暣鏁般 int ret = getnameinfo((struct sockaddr*)&addr, sizeof addr, host, sizeof host, serv, sizeof serv, 0); + // 璋冪敤getnameinfo鍑芥暟锛屼紶鍏ュ湴鍧淇℃伅銆佷富鏈哄悕鍜屾湇鍔″櫒鍚嶇殑缂撳啿鍖猴紝灏濊瘯鑾峰彇涓绘満鍚嶅拰鏈嶅姟鍣ㄥ悕銆 ICUNIT_ASSERT_EQUAL(ret, 0, ret); + // 鏂█getnameinfo鍑芥暟璋冪敤鎴愬姛锛岃繑鍥炲间负0銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest010(void) { TEST_ADD_CASE(__FUNCTION__, NameInfoTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢NameInfoTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_011.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_011.cpp index 32f7d43..b436413 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_011.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_011.cpp @@ -31,37 +31,57 @@ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍙兘鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetServByPortTest(void) { // refer to the `/etc/services' file. char serv_file[] = "ssh 22/tcp\n"; + // 瀹氫箟涓涓ā鎷熺殑services鏂囦欢鍐呭锛屽寘鍚玸sh鏈嶅姟鐨勬潯鐩 char *pathList[] = {"/etc/services"}; + // 瀹氫箟services鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑services鏂囦欢銆 char *streamList[] = {static_cast(serv_file)}; + // 瀹氫箟妯℃嫙鐨剆ervices鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑services鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(serv_file)}; + // 瀹氫箟妯℃嫙鐨剆ervices鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焥ervices鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 const int test_port_no = 22; // ssh port number is 22 + // 瀹氫箟娴嬭瘯鐨勭鍙e彿锛岃繖閲屾槸22锛屽嵆SSH鏈嶅姟鐨勬爣鍑嗙鍙e彿銆 struct servent *se1 = nullptr; + // 瀹氫箟servent缁撴瀯浣撴寚閽堝彉閲弒e1锛屽垵濮嬪寲涓簄ullptr銆 struct servent *se = getservbyport(htons(test_port_no), "tcp"); + // 浣跨敤getservbyport鍑芥暟鏍规嵁绔彛鍙峰拰鍗忚鍚嶏紙"tcp"锛夎幏鍙杝ervent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_NOT_EQUAL(se, NULL, -1); + // 鏂█se涓嶄负绌猴紝鍗砱etservbyport鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se->s_name, "ssh", -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌"ssh"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se->s_proto, "tcp", -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌"tcp"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se->s_aliases[0], "ssh", -1); + // 鏂█杩斿洖鐨勬湇鍔″埆鍚嶄笌"ssh"鐩稿悓銆 se1 = getservbyport(htons(test_port_no), "tp"); + // 灏濊瘯浣跨敤getservbyport鍑芥暟鏍规嵁绔彛鍙峰拰閿欒鐨勫崗璁悕锛"tp"锛夎幏鍙杝ervent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(se1, nullptr, -1); + // 鏂█se1涓虹┖锛屽嵆getservbyport澶辫触銆 RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest011(void) { TEST_ADD_CASE(__FUNCTION__, GetServByPortTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetServByPortTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_012.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_012.cpp index 503948f..77225ab 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_012.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_012.cpp @@ -31,50 +31,80 @@ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍙兘鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetServByPortRTest(void) { // refer to the `/etc/services' file. char serv_file[] = "ssh 22/tcp\n"; + // 瀹氫箟涓涓ā鎷熺殑services鏂囦欢鍐呭锛屽寘鍚玸sh鏈嶅姟鐨勬潯鐩 char *pathList[] = {"/etc/services"}; + // 瀹氫箟services鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑services鏂囦欢銆 char *streamList[] = {static_cast(serv_file)}; + // 瀹氫箟妯℃嫙鐨剆ervices鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑services鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(serv_file)}; + // 瀹氫箟妯℃嫙鐨剆ervices鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焥ervices鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 struct servent se, *result = NULL; + // 瀹氫箟servent缁撴瀯浣撳彉閲弒e锛岀敤浜庡瓨鍌╣etservbyport_r鍑芥暟鐨勭粨鏋溿 char buf[1024]; + // 瀹氫箟涓涓冻澶熷ぇ鐨勭紦鍐插尯buf锛岀敤浜巊etservbyport_r鍑芥暟銆 char buf1[2]; + // 瀹氫箟涓涓潪甯稿皬鐨勭紦鍐插尯buf1锛岀敤浜庢祴璇昰etservbyport_r鍑芥暟鐨勮竟鐣屾潯浠躲 const int test_port_no = 22; // ssh port number is 22 + // 瀹氫箟娴嬭瘯鐨勭鍙e彿锛岃繖閲屾槸22锛屽嵆SSH鏈嶅姟鐨勬爣鍑嗙鍙e彿銆 int ret = getservbyport_r(htons(test_port_no), "tcp", &se, buf, sizeof buf, &result); + // 浣跨敤getservbyport_r鍑芥暟鏍规嵁绔彛鍙峰拰鍗忚鍚嶏紙"tcp"锛夎幏鍙杝ervent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_EQUAL(ret, 0, ret); + // 鏂█杩斿洖鍊紃et涓0锛岃〃绀篻etservbyport_r鍑芥暟璋冪敤鎴愬姛銆 ICUNIT_ASSERT_NOT_EQUAL(result, NULL, -1); + // 鏂█result涓嶄负绌猴紝鍗砱etservbyport_r鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se.s_name, "ssh", -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌"ssh"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se.s_proto, "tcp", -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌"tcp"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se.s_aliases[0], "ssh", -1); + // 鏂█杩斿洖鐨勬湇鍔″埆鍚嶄笌"ssh"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(result->s_name, "ssh", -1); + // 鏂█result缁撴瀯浣撲腑鐨勬湇鍔″悕绉颁笌"ssh"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(result->s_proto, "tcp", -1); + // 鏂█result缁撴瀯浣撲腑鐨勬湇鍔″崗璁笌"tcp"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(result->s_aliases[0], "ssh", -1); + // 鏂█result缁撴瀯浣撲腑鐨勬湇鍔″埆鍚嶄笌"ssh"鐩稿悓銆 ret = getservbyport_r(htons(test_port_no), "udp", &se, buf, sizeof buf, &result); + // 灏濊瘯浣跨敤getservbyport_r鍑芥暟鏍规嵁绔彛鍙峰拰鍗忚鍚嶏紙"udp"锛夎幏鍙杝ervent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(ret, ENOENT, -1); + // 鏂█杩斿洖鍊紃et涓篍NOENT锛岃〃绀烘湭鎵惧埌瀵瑰簲鏈嶅姟銆 ret = getservbyport_r(htons(test_port_no), "udp", &se, buf1, sizeof buf1, &result); + // 娴嬭瘯getservbyport_r鍑芥暟鐨勮竟鐣屾潯浠讹紝浼犲叆鐨勭紦鍐插尯澶皬銆 ICUNIT_ASSERT_EQUAL(ret, ERANGE, ret); + // 鏂█杩斿洖鍊紃et涓篍RANGE锛岃〃绀虹紦鍐插尯澶皬銆 ret = getservbyport_r(htons(test_port_no), "ud", &se, buf, sizeof buf, &result); + // 灏濊瘯浣跨敤getservbyport_r鍑芥暟鏍规嵁绔彛鍙峰拰涓嶅畬鏁寸殑鍗忚鍚嶏紙"ud"锛夎幏鍙杝ervent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(ret, EINVAL, ret); + // 鏂█杩斿洖鍊紃et涓篍INVAL锛岃〃绀烘彁渚涚殑鍗忚鍚嶄笉鍚堟硶銆 RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest012(void) { TEST_ADD_CASE(__FUNCTION__, GetServByPortRTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetServByPortRTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_015.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_015.cpp index 612b157..e2f3787 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_015.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_015.cpp @@ -1,5 +1,5 @@ /* - * opyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. + * Copyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, @@ -30,6 +30,7 @@ #include "lt_net_netdb.h" #include +// 寮曞叆澶存枃浠讹紝鍖呮嫭缃戠粶鏁版嵁搴撶浉鍏崇殑鍑芥暟澹版槑鍜屽畯瀹氫箟锛屼互鍙婄綉缁滄帴鍙g浉鍏崇殑鍑芥暟鍜屽畯瀹氫箟銆 static int IfNameToIndexTest(void) { @@ -38,20 +39,30 @@ static int IfNameToIndexTest(void) char *str = nullptr; ret = if_nametoindex("lo"); + // 璋冪敤if_nametoindex鍑芥暟灏嗘帴鍙e悕绉"lo"杞崲涓虹郴缁熺储寮曘 ICUNIT_ASSERT_NOT_EQUAL(ret, 0, -1); + // 鏂█杞崲鎴愬姛锛岃繑鍥炵殑绱㈠紩鍊间笉涓0銆 str = if_indextoname(ret, if_name); + // 璋冪敤if_indextoname鍑芥暟灏嗙郴缁熺储寮曡浆鎹㈠洖鎺ュ彛鍚嶇О銆 ICUNIT_ASSERT_NOT_EQUAL(str, nullptr, -1); + // 鏂█杞崲鎴愬姛锛岃繑鍥炵殑瀛楃涓叉寚閽堜笉涓簄ullptr銆 ICUNIT_ASSERT_STRING_EQUAL(if_name, "lo", -1); + // 鏂█杞崲鍥炵殑鎺ュ彛鍚嶇О涓"lo"銆 ret = if_nametoindex("eth1"); + // 灏濊瘯璋冪敤if_nametoindex鍑芥暟灏嗘帴鍙e悕绉"eth1"杞崲涓虹郴缁熺储寮曘 ICUNIT_ASSERT_EQUAL(ret, 0, ret); + // 鏂█杞崲澶辫触锛岃繑鍥炵殑绱㈠紩鍊间负0銆 ICUNIT_ASSERT_EQUAL(errno, ENODEV, errno); + // 鏂█errno琚缃负ENODEV锛岃〃绀烘病鏈夋壘鍒板搴旂殑璁惧銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest015(void) { TEST_ADD_CASE(__FUNCTION__, IfNameToIndexTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢IfNameToIndexTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_016.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_016.cpp index c9d2d67..53e84c3 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_016.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_016.cpp @@ -1,5 +1,5 @@ /* - * opyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. + * Copyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, @@ -29,6 +29,7 @@ */ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍙兘鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetServByNameTest(void) { @@ -38,43 +39,65 @@ static int GetServByNameTest(void) "discard 9/udp sink null\n" "systat 11/tcp users\n" "ssh 22/tcp\n"; + // 瀹氫箟涓涓ā鎷熺殑services鏂囦欢鍐呭锛屽寘鍚涓湇鍔$殑鏉$洰銆 char *pathList[] = {"/etc/services"}; + // 瀹氫箟services鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑services鏂囦欢銆 char *streamList[] = {static_cast(serv_file)}; + // 瀹氫箟妯℃嫙鐨剆ervices鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑services鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(serv_file)}; + // 瀹氫箟妯℃嫙鐨剆ervices鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焥ervices鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 struct servent *se1 = nullptr; struct servent *se2 = nullptr; se1 = getservbyname("discard", "tcp"); + // 浣跨敤getservbyname鍑芥暟鏍规嵁鏈嶅姟鍚"discard"鍜屽崗璁悕"tcp"鑾峰彇servent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_NOT_EQUAL(se1, NULL, -1); + // 鏂█se1涓嶄负绌猴紝鍗砱etservbyname鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_name, "discard", -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌"discard"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_proto, "tcp", -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌"tcp"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_aliases[0], "discard", -1); + // 鏂█杩斿洖鐨勬湇鍔″埆鍚嶄笌"discard"鐩稿悓銆 se1 = getservbyname("ssh", "tcp"); + // 浣跨敤getservbyname鍑芥暟鏍规嵁鏈嶅姟鍚"ssh"鍜屽崗璁悕"tcp"鑾峰彇servent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_NOT_EQUAL(se1, nullptr, -1); + // 鏂█se1涓嶄负绌猴紝鍗砱etservbyname鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_name, "ssh", -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌"ssh"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_proto, "tcp", -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌"tcp"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_aliases[0], "ssh", -1); + // 鏂█杩斿洖鐨勬湇鍔″埆鍚嶄笌"ssh"鐩稿悓銆 se2 = getservbyname("cho", "udp"); + // 灏濊瘯浣跨敤getservbyname鍑芥暟鏍规嵁閿欒鐨勬湇鍔″悕"cho"鍜屽崗璁悕"udp"鑾峰彇servent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(se2, nullptr, -1); se2 = getservbyname("systat", "udp"); + // 灏濊瘯浣跨敤getservbyname鍑芥暟鏍规嵁鏈嶅姟鍚"systat"鍜屽崗璁悕"udp"鑾峰彇servent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(se2, nullptr, -1); RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest016(void) { TEST_ADD_CASE(__FUNCTION__, GetServByNameTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetServByNameTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_017.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_017.cpp index a3469ff..633769d 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_017.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_017.cpp @@ -1,5 +1,5 @@ /* - * opyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. + * Copyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, @@ -29,19 +29,27 @@ */ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍙兘鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetServByNameRTest(void) { char serv_file[] = "ssh 22/tcp\n"; + // 瀹氫箟涓涓ā鎷熺殑services鏂囦欢鍐呭锛屽寘鍚玸sh鏈嶅姟鐨勬潯鐩 char *pathList[] = {"/etc/services"}; + // 瀹氫箟services鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑services鏂囦欢銆 char *streamList[] = {static_cast(serv_file)}; + // 瀹氫箟妯℃嫙鐨剆ervices鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑services鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(serv_file)}; + // 瀹氫箟妯℃嫙鐨剆ervices鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焥ervices鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 struct servent se; struct servent *result = NULL; @@ -51,29 +59,47 @@ static int GetServByNameRTest(void) errno = 0; ret = getservbyname_r("ssh", "tcp", &se, buf1, sizeof buf1, &result); + // 浣跨敤getservbyname_r鍑芥暟鏍规嵁鏈嶅姟鍚"ssh"鍜屽崗璁悕"tcp"鑾峰彇servent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_EQUAL(ret, 0, ret); + // 鏂█杩斿洖鍊紃et涓0锛岃〃绀篻etservbyname_r鍑芥暟璋冪敤鎴愬姛銆 ICUNIT_ASSERT_NOT_EQUAL(result, NULL, -1); + // 鏂█result涓嶄负绌猴紝鍗砱etservbyname_r鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se.s_name, "ssh", -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌"ssh"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se.s_proto, "tcp", -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌"tcp"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se.s_aliases[0], "ssh", -1); + // 鏂█杩斿洖鐨勬湇鍔″埆鍚嶄笌"ssh"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(result->s_name, "ssh", -1); + // 鏂█result缁撴瀯浣撲腑鐨勬湇鍔″悕绉颁笌"ssh"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(result->s_proto, "tcp", -1); + // 鏂█result缁撴瀯浣撲腑鐨勬湇鍔″崗璁笌"tcp"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(result->s_aliases[0], "ssh", -1); + // 鏂█result缁撴瀯浣撲腑鐨勬湇鍔″埆鍚嶄笌"ssh"鐩稿悓銆 ret = getservbyname_r("ssh", "tcp", &se, buf2, sizeof buf2, &result); + // 娴嬭瘯getservbyname_r鍑芥暟鐨勮竟鐣屾潯浠讹紝浼犲叆鐨勭紦鍐插尯澶皬銆 ICUNIT_ASSERT_EQUAL(ret, ERANGE, ret); + // 鏂█杩斿洖鍊紃et涓篍RANGE锛岃〃绀虹紦鍐插尯澶皬銆 ret = getservbyname_r("ssh", "tp", &se, buf1, sizeof buf1, &result); + // 灏濊瘯浣跨敤getservbyname_r鍑芥暟鏍规嵁鏈嶅姟鍚"ssh"鍜岄敊璇殑鍗忚鍚"tp"鑾峰彇servent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(ret, EINVAL, ret); + // 鏂█杩斿洖鍊紃et涓篍INVAL锛岃〃绀烘彁渚涚殑鍗忚鍚嶄笉鍚堟硶銆 ret = getservbyname_r("sh", "tcp", &se, buf1, sizeof buf1, &result); + // 灏濊瘯浣跨敤getservbyname_r鍑芥暟鏍规嵁涓嶅畬鏁寸殑鏈嶅姟鍚"sh"鍜屽崗璁悕"tcp"鑾峰彇servent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(ret, ENOENT, ret); + // 鏂█杩斿洖鍊紃et涓篍NOENT锛岃〃绀烘湭鎵惧埌瀵瑰簲鏈嶅姟銆 RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest017(void) { TEST_ADD_CASE(__FUNCTION__, GetServByNameRTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetServByNameRTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_018.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_018.cpp index 415fd08..7c88ed4 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_018.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_018.cpp @@ -1,5 +1,5 @@ /* - * opyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. + * Copyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, @@ -29,6 +29,7 @@ */ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍙兘鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetServEntTest(void) { @@ -39,15 +40,22 @@ static int GetServEntTest(void) "ssh 100000/tcp\n" "ssh /tcp\n" "ssh 22/"; + // 瀹氫箟涓涓ā鎷熺殑services鏂囦欢鍐呭锛屽寘鍚涓湇鍔$殑鏉$洰銆 char *pathList[] = {"/etc/services"}; + // 瀹氫箟services鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑services鏂囦欢銆 char *streamList[] = {static_cast(serv_file)}; + // 瀹氫箟妯℃嫙鐨剆ervices鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑services鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(serv_file)}; + // 瀹氫箟妯℃嫙鐨剆ervices鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焥ervices鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 /* tcpmux,echo,discard port number is 1,7,9 */ const int tcpmux_port_no = 1; @@ -59,55 +67,96 @@ static int GetServEntTest(void) struct servent *se3 = nullptr; se1 = getservent(); + // 璋冪敤getservent鍑芥暟鑾峰彇services鏁版嵁搴撲腑鐨勭涓涓湇鍔℃潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se1, nullptr, -1); + // 鏂█se1涓嶄负绌猴紝鍗砱etservent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_name, "tcpmux", -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌"tcpmux"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_proto, "tcp", -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌"tcp"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->s_port, ntohs(tcpmux_port_no), -1); + // 鏂█杩斿洖鐨勬湇鍔$鍙e彿涓庤浆鎹负缃戠粶瀛楄妭搴忕殑1鐩稿悓銆 endservent(); + // 璋冪敤endservent鍑芥暟缁撴潫鏈嶅姟鏁版嵁搴撶殑鎼滅储銆 se2 = getservent(); + // 鍐嶆璋冪敤getservent鍑芥暟鑾峰彇services鏁版嵁搴撲腑鐨勭涓涓湇鍔℃潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se2, nullptr, -1); + // 鏂█se2涓嶄负绌猴紝鍗砱etservent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_name, se2->s_name, -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌涔嬪墠鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_proto, se2->s_proto, -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌涔嬪墠鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->s_port, se2->s_port, -1); + // 鏂█杩斿洖鐨勬湇鍔$鍙e彿涓庝箣鍓嶇浉鍚屻 setservent(0); + // 璋冪敤setservent鍑芥暟璁剧疆鏈嶅姟鏁版嵁搴撶殑鎼滅储浣嶇疆鍒板紑濮嬨 se3 = getservent(); + // 璋冪敤getservent鍑芥暟鑾峰彇services鏁版嵁搴撲腑鐨勭涓涓湇鍔℃潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se3, nullptr, -1); + // 鏂█se3涓嶄负绌猴紝鍗砱etservent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_name, se3->s_name, -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌涔嬪墠鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se1->s_proto, se3->s_proto, -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌涔嬪墠鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->s_port, se3->s_port, -1); + // 鏂█杩斿洖鐨勬湇鍔$鍙e彿涓庝箣鍓嶇浉鍚屻 se3 = getservent(); + // 鑾峰彇涓嬩竴涓湇鍔℃潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se3, nullptr, -1); + // 鏂█se3涓嶄负绌猴紝鍗砱etservent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se3->s_name, "echo", -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌"echo"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se3->s_proto, "tcp", -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌"tcp"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se3->s_port, ntohs(echo_port_no), -1); + // 鏂█杩斿洖鐨勬湇鍔$鍙e彿涓庤浆鎹负缃戠粶瀛楄妭搴忕殑7鐩稿悓銆 se3 = getservent(); + // 鑾峰彇涓嬩竴涓湇鍔℃潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se3, nullptr, -1); + // 鏂█se3涓嶄负绌猴紝鍗砱etservent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se3->s_name, "echo", -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌"echo"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se3->s_proto, "udp", -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌"udp"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se3->s_port, ntohs(echo_port_no), -1); + // 鏂█杩斿洖鐨勬湇鍔$鍙e彿涓庤浆鎹负缃戠粶瀛楄妭搴忕殑7鐩稿悓銆 se3 = getservent(); + // 鑾峰彇涓嬩竴涓湇鍔℃潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se3, nullptr, -1); + // 鏂█se3涓嶄负绌猴紝鍗砱etservent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se3->s_name, "discard", -1); + // 鏂█杩斿洖鐨勬湇鍔″悕绉颁笌"discard"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se3->s_proto, "tcp", -1); + // 鏂█杩斿洖鐨勬湇鍔″崗璁笌"tcp"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se3->s_port, ntohs(discard_port_no), -1); + // 鏂█杩斿洖鐨勬湇鍔$鍙e彿涓庤浆鎹负缃戠粶瀛楄妭搴忕殑9鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se3->s_aliases[0], "sink", -1); + // 鏂█杩斿洖鐨勬湇鍔″埆鍚嶅垪琛ㄤ腑鐨勭涓涓埆鍚嶄笌"sink"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se3->s_aliases[1], "null", -1); + // 鏂█杩斿洖鐨勬湇鍔″埆鍚嶅垪琛ㄤ腑鐨勭浜屼釜鍒悕涓"null"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se3->s_aliases[2], nullptr, -1); + // 鏂█杩斿洖鐨勬湇鍔″埆鍚嶅垪琛ㄤ腑鐨勭涓変釜鍒悕涓簄ullptr锛岃〃绀哄埆鍚嶅垪琛ㄧ粨鏉熴 se3 = getservent(); + // 鑾峰彇涓嬩竴涓湇鍔℃潯鐩 ICUNIT_ASSERT_EQUAL(se3, nullptr, -1); + // 鏂█se3涓虹┖锛屽嵆宸茬粡鍒拌揪services鏁版嵁搴撶殑鏈熬銆 endservent(); + // 璋冪敤endservent鍑芥暟缁撴潫鏈嶅姟鏁版嵁搴撶殑鎼滅储銆 RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest018(void) { TEST_ADD_CASE(__FUNCTION__, GetServEntTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetServEntTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_019.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_019.cpp index 70ad889..40225f4 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_019.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_019.cpp @@ -1,5 +1,5 @@ /* - * opyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. + * Copyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, @@ -29,7 +29,8 @@ */ #include "lt_net_netdb.h" -#include +#include +// 寮曞叆澶存枃浠讹紝鍖呮嫭缃戠粶鏁版嵁搴撶浉鍏崇殑鍑芥暟澹版槑鍜屽畯瀹氫箟锛屼互鍙奛ameser.h涓畾涔夌殑涓嶥NS鐩稿叧鐨勫畯鍜岀粨鏋勩 static int GetHostEntTest(void) { @@ -38,15 +39,22 @@ static int GetHostEntTest(void) "10.0.0.0 example example.com example.cn\n" "10.0.0.0\n" "10.0.0 example.com"; + // 瀹氫箟涓涓ā鎷熺殑hosts鏂囦欢鍐呭锛屽寘鍚獻Pv4鍜孖Pv6鐨勬潯鐩 char *pathList[] = {"/etc/hosts"}; + // 瀹氫箟hosts鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑hosts鏂囦欢銆 char *streamList[] = {static_cast(host_file)}; + // 瀹氫箟妯℃嫙鐨刪osts鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑hosts鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(host_file)}; + // 瀹氫箟妯℃嫙鐨刪osts鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焗osts鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 struct hostent *se1 = nullptr; struct hostent *se2 = nullptr; @@ -54,52 +62,91 @@ static int GetHostEntTest(void) char addr[INET6_ADDRSTRLEN]; se1 = gethostent(); + // 璋冪敤gethostent鍑芥暟鑾峰彇hosts鏁版嵁搴撲腑鐨勭涓涓富鏈烘潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se1, nullptr, -1); + // 鏂█se1涓嶄负绌猴紝鍗砱ethostent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->h_name, "localhost", -1); + // 鏂█杩斿洖鐨勪富鏈哄悕涓"localhost"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->h_addrtype, AF_INET, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET锛圛Pv4锛夈 ICUNIT_ASSERT_EQUAL(se1->h_length, INADDRSZ, -1); + // 鏂█杩斿洖鐨勫湴鍧闀垮害涓篒Pv4鍦板潃闀垮害銆 ICUNIT_ASSERT_STRING_EQUAL("127.0.0.1", inet_ntop(AF_INET, se1->h_addr_list[0], addr, INET_ADDRSTRLEN), -1); + // 鏂█杩斿洖鐨勭涓涓湴鍧涓"127.0.0.1"銆 ICUNIT_ASSERT_EQUAL(se1->h_aliases[0], nullptr, -1); + // 鏂█鍒悕鍒楄〃涓殑绗竴涓埆鍚嶄负nullptr锛岃〃绀哄埆鍚嶅垪琛ㄧ粨鏉熴 endhostent(); + // 璋冪敤endhostent鍑芥暟缁撴潫涓绘満鏁版嵁搴撶殑鎼滅储銆 se2 = gethostent(); + // 鍐嶆璋冪敤gethostent鍑芥暟鑾峰彇hosts鏁版嵁搴撲腑鐨勭涓涓富鏈烘潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se2, nullptr, -1); + // 鏂█se2涓嶄负绌猴紝鍗砱ethostent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->h_name, se2->h_name, -1); + // 鏂█杩斿洖鐨勪富鏈哄悕涓庝箣鍓嶇浉鍚屻 ICUNIT_ASSERT_EQUAL(se1->h_addrtype, se2->h_addrtype, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓庝箣鍓嶇浉鍚屻 ICUNIT_ASSERT_EQUAL(se1->h_length, se2->h_length, -1); + // 鏂█杩斿洖鐨勫湴鍧闀垮害涓庝箣鍓嶇浉鍚屻 sethostent(0); + // 璋冪敤sethostent鍑芥暟璁剧疆涓绘満鏁版嵁搴撶殑鎼滅储浣嶇疆鍒板紑濮嬨 se3 = gethostent(); + // 璋冪敤gethostent鍑芥暟鑾峰彇hosts鏁版嵁搴撲腑鐨勭涓涓富鏈烘潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se3, nullptr, -1); + // 鏂█se3涓嶄负绌猴紝鍗砱ethostent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->h_name, se3->h_name, -1); + // 鏂█杩斿洖鐨勪富鏈哄悕涓庝箣鍓嶇浉鍚屻 ICUNIT_ASSERT_EQUAL(se1->h_addrtype, se3->h_addrtype, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓庝箣鍓嶇浉鍚屻 ICUNIT_ASSERT_EQUAL(se1->h_length, se3->h_length, -1); + // 鏂█杩斿洖鐨勫湴鍧闀垮害涓庝箣鍓嶇浉鍚屻 se3 = gethostent(); + // 鑾峰彇涓嬩竴涓富鏈烘潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se3, nullptr, -1); + // 鏂█se3涓嶄负绌猴紝鍗砱ethostent鎴愬姛銆 ICUNIT_ASSERT_EQUAL(se3->h_addrtype, AF_INET6, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET6锛圛Pv6锛夈 ICUNIT_ASSERT_STRING_EQUAL(se3->h_name, "ip6-localhost", -1); + // 鏂█杩斿洖鐨勪富鏈哄悕涓"ip6-localhost"銆 ICUNIT_ASSERT_EQUAL(se3->h_length, IN6ADDRSZ, -1); + // 鏂█杩斿洖鐨勫湴鍧闀垮害涓篒Pv6鍦板潃闀垮害銆 ICUNIT_ASSERT_STRING_EQUAL("::1", inet_ntop(AF_INET6, se3->h_addr_list[0], addr, INET6_ADDRSTRLEN), -1); + // 鏂█杩斿洖鐨勭涓涓湴鍧涓"::1"銆 se3 = gethostent(); + // 鑾峰彇涓嬩竴涓富鏈烘潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se3, nullptr, -1); + // 鏂█se3涓嶄负绌猴紝鍗砱ethostent鎴愬姛銆 ICUNIT_ASSERT_EQUAL(se3->h_addrtype, AF_INET, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET锛圛Pv4锛夈 ICUNIT_ASSERT_STRING_EQUAL(se3->h_name, "example", -1); + // 鏂█杩斿洖鐨勪富鏈哄悕涓"example"銆 ICUNIT_ASSERT_STRING_EQUAL("10.0.0.0", inet_ntop(AF_INET, se3->h_addr_list[0], addr, INET_ADDRSTRLEN), -1); + // 鏂█杩斿洖鐨勭涓涓湴鍧涓"10.0.0.0"銆 ICUNIT_ASSERT_STRING_EQUAL(se3->h_aliases[0], "example.com", -1); + // 鏂█鍒悕鍒楄〃涓殑绗竴涓埆鍚嶄负"example.com"銆 ICUNIT_ASSERT_STRING_EQUAL(se3->h_aliases[1], "example.cn", -1); + // 鏂█鍒悕鍒楄〃涓殑绗簩涓埆鍚嶄负"example.cn"銆 ICUNIT_ASSERT_EQUAL(se3->h_aliases[2], nullptr, -1); + // 鏂█鍒悕鍒楄〃涓殑绗笁涓埆鍚嶄负nullptr锛岃〃绀哄埆鍚嶅垪琛ㄧ粨鏉熴 se3 = gethostent(); + // 鑾峰彇涓嬩竴涓富鏈烘潯鐩 ICUNIT_ASSERT_EQUAL(se3, nullptr, -1); + // 鏂█se3涓虹┖锛屽嵆宸茬粡鍒拌揪hosts鏁版嵁搴撶殑鏈熬銆 endhostent(); + // 璋冪敤endhostent鍑芥暟缁撴潫涓绘満鏁版嵁搴撶殑鎼滅储銆 RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest019(void) { TEST_ADD_CASE(__FUNCTION__, GetHostEntTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetHostEntTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_020.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_020.cpp index 5cad29c..3c0ffcb 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_020.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_020.cpp @@ -1,5 +1,5 @@ /* - * opyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. + * Copyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, @@ -29,6 +29,7 @@ */ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetNetEntTest(void) { @@ -36,59 +37,98 @@ static int GetNetEntTest(void) "link-local 169.254.0.0\n" "example 192.168.1.0 network example-network\n" "test1"; + // 瀹氫箟涓涓ā鎷熺殑networks鏂囦欢鍐呭锛屽寘鍚綉缁滃悕绉板拰瀵瑰簲鐨勫湴鍧銆 char *pathList[] = {"/etc/networks"}; + // 瀹氫箟networks鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑networks鏂囦欢銆 char *streamList[] = {static_cast(network_file)}; + // 瀹氫箟妯℃嫙鐨刵etworks鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑networks鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(network_file)}; + // 瀹氫箟妯℃嫙鐨刵etworks鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焠etworks鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 struct netent *se1 = nullptr; struct netent *se2 = nullptr; struct netent *se3 = nullptr; se1 = getnetent(); + // 璋冪敤getnetent鍑芥暟鑾峰彇networks鏁版嵁搴撲腑鐨勭涓涓綉缁滄潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se1, nullptr, -1); + // 鏂█se1涓嶄负绌猴紝鍗砱etnetent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->n_name, "link-local", -1); + // 鏂█杩斿洖鐨勭綉缁滃悕绉颁笌"link-local"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->n_addrtype, AF_INET, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET锛圛Pv4锛夈 ICUNIT_ASSERT_EQUAL(se1->n_net, inet_network("169.254.0.0"), -1); + // 鏂█杩斿洖鐨勭綉缁滃湴鍧涓"169.254.0.0"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->n_aliases[0], nullptr, -1); + // 鏂█鍒悕鍒楄〃涓殑绗竴涓埆鍚嶄负nullptr锛岃〃绀哄埆鍚嶅垪琛ㄧ粨鏉熴 endnetent(); + // 璋冪敤endnetent鍑芥暟缁撴潫缃戠粶鏁版嵁搴撶殑鎼滅储銆 se2 = getnetent(); + // 鍐嶆璋冪敤getnetent鍑芥暟鑾峰彇networks鏁版嵁搴撲腑鐨勭涓涓綉缁滄潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se2, nullptr, -1); + // 鏂█se2涓嶄负绌猴紝鍗砱etnetent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->n_name, se2->n_name, -1); + // 鏂█杩斿洖鐨勭綉缁滃悕绉颁笌涔嬪墠鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->n_addrtype, se2->n_addrtype, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓庝箣鍓嶇浉鍚屻 ICUNIT_ASSERT_EQUAL(se1->n_net, se2->n_net, -1); + // 鏂█杩斿洖鐨勭綉缁滃湴鍧涓庝箣鍓嶇浉鍚屻 setnetent(0); + // 璋冪敤setnetent鍑芥暟璁剧疆缃戠粶鏁版嵁搴撶殑鎼滅储浣嶇疆鍒板紑濮嬨 se3 = getnetent(); + // 璋冪敤getnetent鍑芥暟鑾峰彇networks鏁版嵁搴撲腑鐨勭涓涓綉缁滄潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se3, nullptr, -1); + // 鏂█se3涓嶄负绌猴紝鍗砱etnetent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->n_name, se3->n_name, -1); + // 鏂█杩斿洖鐨勭綉缁滃悕绉颁笌涔嬪墠鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->n_addrtype, se3->n_addrtype, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓庝箣鍓嶇浉鍚屻 ICUNIT_ASSERT_EQUAL(se1->n_net, se3->n_net, -1); + // 鏂█杩斿洖鐨勭綉缁滃湴鍧涓庝箣鍓嶇浉鍚屻 se1 = getnetent(); + // 鑾峰彇涓嬩竴涓綉缁滄潯鐩 ICUNIT_ASSERT_NOT_EQUAL(se1, nullptr, -1); + // 鏂█se1涓嶄负绌猴紝鍗砱etnetent鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->n_name, "example", -1); + // 鏂█杩斿洖鐨勭綉缁滃悕绉颁笌"example"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->n_addrtype, AF_INET, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET锛圛Pv4锛夈 ICUNIT_ASSERT_EQUAL(se1->n_net, inet_network("192.168.1.0"), -1); + // 鏂█杩斿洖鐨勭綉缁滃湴鍧涓"192.168.1.0"鐩稿悓銆 ICUNIT_ASSERT_STRING_EQUAL(se1->n_aliases[0], "network", -1); + // 鏂█鍒悕鍒楄〃涓殑绗竴涓埆鍚嶄负"network"銆 ICUNIT_ASSERT_STRING_EQUAL(se1->n_aliases[1], "example-network", -1); + // 鏂█鍒悕鍒楄〃涓殑绗簩涓埆鍚嶄负"example-network"銆 ICUNIT_ASSERT_EQUAL(se1->n_aliases[2], nullptr, -1); + // 鏂█鍒悕鍒楄〃涓殑绗笁涓埆鍚嶄负nullptr锛岃〃绀哄埆鍚嶅垪琛ㄧ粨鏉熴 se1 = getnetent(); + // 鑾峰彇涓嬩竴涓綉缁滄潯鐩 ICUNIT_ASSERT_EQUAL(se1, nullptr, -1); + // 鏂█se1涓虹┖锛屽嵆宸茬粡鍒拌揪networks鏁版嵁搴撶殑鏈熬銆 endnetent(); + // 璋冪敤endnetent鍑芥暟缁撴潫缃戠粶鏁版嵁搴撶殑鎼滅储銆 RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest020(void) { TEST_ADD_CASE(__FUNCTION__, GetNetEntTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetNetEntTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_021.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_021.cpp index 9b784d5..8fd3608 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_021.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_021.cpp @@ -1,5 +1,5 @@ /* - * opyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. + * Copyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, @@ -29,42 +29,60 @@ */ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetNetBynametTest(void) { char network_file[] = "# symbolic names for networks, see networks(5) for more information\n" "link-local 169.254.0.0\n"; + // 瀹氫箟涓涓ā鎷熺殑networks鏂囦欢鍐呭锛屽寘鍚綉缁滃悕绉板拰瀵瑰簲鐨勫湴鍧銆 char *pathList[] = {"/etc/networks"}; + // 瀹氫箟networks鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑networks鏂囦欢銆 char *streamList[] = {static_cast(network_file)}; + // 瀹氫箟妯℃嫙鐨刵etworks鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑networks鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(network_file)}; + // 瀹氫箟妯℃嫙鐨刵etworks鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焠etworks鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 struct netent *se1 = nullptr; struct netent *se2 = nullptr; struct netent *se3 = nullptr; se1 = getnetbyname("link-local"); + // 浣跨敤getnetbyname鍑芥暟鏍规嵁缃戠粶鍚嶇О"link-local"鑾峰彇netent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_NOT_EQUAL(se1, nullptr, -1); + // 鏂█se1涓嶄负绌猴紝鍗砱etnetbyname鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->n_name, "link-local", -1); + // 鏂█杩斿洖鐨勭綉缁滃悕绉颁笌"link-local"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->n_addrtype, AF_INET, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET锛圛Pv4锛夈 ICUNIT_ASSERT_EQUAL(se1->n_net, inet_network("169.254.0.0"), -1); + // 鏂█杩斿洖鐨勭綉缁滃湴鍧涓"169.254.0.0"鐩稿悓銆 se2 = getnetbyname("link"); + // 灏濊瘯浣跨敤getnetbyname鍑芥暟鏍规嵁涓嶅畬鏁寸殑缃戠粶鍚嶇О"link"鑾峰彇netent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(se2, nullptr, -1); se3 = getnetbyname("hs"); + // 灏濊瘯浣跨敤getnetbyname鍑芥暟鏍规嵁涓嶅瓨鍦ㄧ殑缃戠粶鍚嶇О"hs"鑾峰彇netent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(se3, nullptr, -1); RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest021(void) { TEST_ADD_CASE(__FUNCTION__, GetNetBynametTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetNetBynametTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_022.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_022.cpp index b551318..6cb19c8 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_022.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/full/net_netdb_test_022.cpp @@ -1,5 +1,5 @@ /* - * opyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. + * Copyright (c) 2021-2021, Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, @@ -29,42 +29,60 @@ */ #include "lt_net_netdb.h" +// 寮曞叆澶存枃浠讹紝鍖呭惈浜嗙綉缁滄暟鎹簱鐩稿叧鐨勫嚱鏁板0鏄庡拰瀹忓畾涔夈 static int GetNetByAddrtTest(void) { char network_file[] = "# symbolic names for networks, see networks(5) for more information\n" "link-local 169.254.0.0\n"; + // 瀹氫箟涓涓ā鎷熺殑networks鏂囦欢鍐呭锛屽寘鍚綉缁滃悕绉板拰瀵瑰簲鐨勫湴鍧銆 char *pathList[] = {"/etc/networks"}; + // 瀹氫箟networks鏂囦欢鐨勮矾寰勫垪琛紝杩欓噷鍙湁涓涓矾寰勬寚鍚戠郴缁熺殑networks鏂囦欢銆 char *streamList[] = {static_cast(network_file)}; + // 瀹氫箟妯℃嫙鐨刵etworks鏂囦欢娴佸垪琛紝杩欓噷灏嗘ā鎷熺殑networks鏂囦欢鍐呭杞崲涓篶har*绫诲瀷銆 int streamLen[] = {sizeof(network_file)}; + // 瀹氫箟妯℃嫙鐨刵etworks鏂囦欢娴侀暱搴﹀垪琛ㄣ const int file_number = 1; + // 瀹氫箟鏂囦欢鏁伴噺銆 int flag = PrepareFileEnv(pathList, streamList, streamLen, file_number); + // 璋冪敤PrepareFileEnv鍑芥暟鍑嗗鏂囦欢鐜锛屾ā鎷焠etworks鏂囦欢銆 if (flag != 0) { RecoveryFileEnv(pathList, file_number); return -1; } + // 濡傛灉鍑嗗鏂囦欢鐜澶辫触锛屽垯鎭㈠鍘熷鏂囦欢鐜骞惰繑鍥為敊璇爜銆 struct netent *se1 = nullptr; struct netent *se2 = nullptr; struct netent *se3 = nullptr; se1 = getnetbyaddr(inet_network("169.254.0.0"), AF_INET); + // 浣跨敤getnetbyaddr鍑芥暟鏍规嵁缃戠粶鍦板潃"169.254.0.0"鍜屽湴鍧鏃廇F_INET鑾峰彇netent缁撴瀯浣撴寚閽堛 ICUNIT_ASSERT_NOT_EQUAL(se1, nullptr, -1); + // 鏂█se1涓嶄负绌猴紝鍗砱etnetbyaddr鎴愬姛銆 ICUNIT_ASSERT_STRING_EQUAL(se1->n_name, "link-local", -1); + // 鏂█杩斿洖鐨勭綉缁滃悕绉颁笌"link-local"鐩稿悓銆 ICUNIT_ASSERT_EQUAL(se1->n_addrtype, AF_INET, -1); + // 鏂█杩斿洖鐨勫湴鍧绫诲瀷涓篈F_INET锛圛Pv4锛夈 ICUNIT_ASSERT_EQUAL(se1->n_net, inet_network("169.254.0.0"), -1); + // 鏂█杩斿洖鐨勭綉缁滃湴鍧涓"169.254.0.0"鐩稿悓銆 se2 = getnetbyaddr(inet_network("169.254.0.1"), AF_INET); + // 灏濊瘯浣跨敤getnetbyaddr鍑芥暟鏍规嵁缃戠粶鍦板潃"169.254.0.1"鍜屽湴鍧鏃廇F_INET鑾峰彇netent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(se2, nullptr, -1); se3 = getnetbyaddr(inet_network("169.254.0.1"), AF_INET6); + // 灏濊瘯浣跨敤getnetbyaddr鍑芥暟鏍规嵁缃戠粶鍦板潃"169.254.0.1"鍜屽湴鍧鏃廇F_INET6鑾峰彇netent缁撴瀯浣撴寚閽堬紝棰勬湡澶辫触銆 ICUNIT_ASSERT_EQUAL(se3, nullptr, -1); RecoveryFileEnv(pathList, file_number); + // 鎭㈠鍘熷鏂囦欢鐜銆 return ICUNIT_SUCCESS; + // 杩斿洖娴嬭瘯鎴愬姛銆 } void NetNetDbTest022(void) { TEST_ADD_CASE(__FUNCTION__, GetNetByAddrtTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); } +// 瀹氫箟娴嬭瘯鐢ㄤ緥锛屽皢GetNetByAddrtTest鍑芥暟娉ㄥ唽涓轰竴涓祴璇曟渚嬨 \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/smoke/net_netdb_test_001.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/smoke/net_netdb_test_001.cpp index 1e0b53a..ac2a9dc 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/smoke/net_netdb_test_001.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/smoke/net_netdb_test_001.cpp @@ -2,57 +2,45 @@ * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its contributors may be used - * to endorse or promote products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * 杩欓儴鍒嗙増鏉冧俊鎭鏄庝簡鍗庝负鎶鏈湁闄愬叕鍙革紙鎴栧叾瀛愬叕鍙革級鏄繖娈典唬鐮佺殑鐗堟潈鎸佹湁鑰咃紝 + * 骞惰瀹氫簡浠g爜鐨勯噸鏂板垎鍙戝拰浣跨敤鏉′欢銆 */ +#include "lt_net_netdb.h" // 鍖呭惈娴嬭瘯鎵闇鐨勭綉缁滄暟鎹簱澶存枃浠 -#include "lt_net_netdb.h" - +// 瀹氫箟涓涓祴璇曞嚱鏁帮紝鐢ㄤ簬娴嬭瘯鍗忚鏁版嵁搴撶殑鍔熻兘 static int ProtoentTest(void) { - setprotoent(1); + setprotoent(1); // 鎵撳紑鍗忚鏁版嵁搴撴枃浠讹紝鍙傛暟1琛ㄧず閲嶇疆鏂囦欢鎸囬拡鍒版枃浠跺紑濮 - // refer to the `/etc/protocols' file. + // 寮曠敤/etc/protocols鏂囦欢锛岃幏鍙栧悕涓"icmp"鐨勫崗璁潯鐩 struct protoent *prot = getprotobyname("icmp"); + // 鏂█锛氱‘淇濊幏鍙栧埌鐨勫崗璁潯鐩笉涓虹┖ ICUNIT_ASSERT_NOT_EQUAL(prot, NULL, -1); + // 鏂█锛氱‘淇濊幏鍙栧埌鐨勫崗璁紪鍙锋槸1锛圛CMP鍗忚鐨勭紪鍙凤級 ICUNIT_ASSERT_EQUAL(prot->p_proto, 1, prot->p_proto); + // 鑾峰彇缂栧彿涓1鐨勫崗璁潯鐩紙涔熸槸ICMP鍗忚锛 prot = getprotobynumber(1); + // 鏂█锛氱‘淇濊幏鍙栧埌鐨勫崗璁潯鐩笉涓虹┖ ICUNIT_ASSERT_NOT_EQUAL(prot, NULL, -1); - ICUNIT_ASSERT_EQUAL(strcmp(prot->p_name, "icmp"), 0, -1); + // 鏂█锛氱‘淇濊幏鍙栧埌鐨勫崗璁悕绉版槸"icmp" + ICUNIT_ASSERT_EQUAL(strcmp(prot->p_name, "icmp"), 0, -1); // strcmp杩斿洖0琛ㄧず瀛楃涓茬浉绛 + // 鑾峰彇鍗忚鏁版嵁搴撲腑鐨勪笅涓涓崗璁潯鐩 prot = getprotoent(); + // 鏂█锛氱‘淇濊幏鍙栧埌鐨勫崗璁潯鐩笉涓虹┖ ICUNIT_ASSERT_NOT_EQUAL(prot, NULL, -1); + // 鍏抽棴鍗忚鏁版嵁搴撴枃浠 endprotoent(); + // 杩斿洖娴嬭瘯鎴愬姛鏍囧織 return ICUNIT_SUCCESS; } +// 瀹氫箟涓涓祴璇曟敞鍐屽嚱鏁帮紝鐢ㄤ簬灏哖rotoentTest娴嬭瘯娣诲姞鍒版祴璇曞浠朵腑 void NetNetDbTest001(void) { + // 娣诲姞娴嬭瘯鐢ㄤ緥鍒版祴璇曟鏋朵腑锛屽寘鎷祴璇曠敤渚嬪悕绉般佹祴璇曞嚱鏁般佹祴璇曠被鍒佹祴璇曞崗璁佹祴璇曠骇鍒拰娴嬭瘯绫诲瀷 TEST_ADD_CASE(__FUNCTION__, ProtoentTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); -} +} \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/net/netdb/smoke/net_netdb_test_013.cpp b/kernel_liteos_a-master/testsuites/unittest/net/netdb/smoke/net_netdb_test_013.cpp index b713849..3a8b6bd 100644 --- a/kernel_liteos_a-master/testsuites/unittest/net/netdb/smoke/net_netdb_test_013.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/net/netdb/smoke/net_netdb_test_013.cpp @@ -1,48 +1,34 @@ /* - * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved. - * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its contributors may be used - * to endorse or promote products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * 鐗堟潈淇℃伅锛岃鏄庝簡鍗庝负鎶鏈湁闄愬叕鍙革紙鎴栧叾瀛愬叕鍙革級鏄繖娈典唬鐮佺殑鐗堟潈鎸佹湁鑰咃紝 + * 骞惰瀹氫簡浠g爜鐨勯噸鏂板垎鍙戝拰浣跨敤鏉′欢銆 */ +#include "lt_net_netdb.h" // 鍖呭惈娴嬭瘯鎵闇鐨勭綉缁滄暟鎹簱澶存枃浠讹紝鍙兘瀹氫箟浜嗘祴璇曟鏋跺拰鐩稿叧鐨勫畯銆佸嚱鏁板師鍨嬬瓑 -#include "lt_net_netdb.h" - +// 瀹氫箟涓涓祴璇曞嚱鏁帮紝鐢ㄤ簬娴嬭瘯hstrerror鍜宧error鍑芥暟鐨勫姛鑳 static int HerrorTest(void) { + // 璋冪敤hstrerror鍑芥暟锛屼紶鍏ヤ竴涓敊璇爜锛圱RY_AGAIN鏄竴涓畯锛岄氬父浠h〃涓涓綉缁滅浉鍏崇殑閿欒鐮侊級 + // hstrerror鍑芥暟鐢ㄤ簬灏嗛敊璇爜杞崲涓哄搴旂殑閿欒鎻忚堪瀛楃涓 const char *err = hstrerror(TRY_AGAIN); + + // 鏂█锛氱‘淇漢strerror杩斿洖鐨勯敊璇弿杩板瓧绗︿覆涓嶄负绌 + // 濡傛灉涓虹┖锛屽垯娴嬭瘯澶辫触锛岃繑鍥-1浣滀负閿欒鐮 ICUNIT_ASSERT_NOT_EQUAL(err, NULL, -1); + // 璋冪敤herror鍑芥暟锛屼紶鍏strerror杩斿洖鐨勯敊璇弿杩板瓧绗︿覆 + // herror鍑芥暟閫氬父鐢ㄤ簬灏嗛敊璇弿杩版墦鍗板埌鏍囧噯閿欒杈撳嚭锛坰tderr锛 herror(err); + // 杩斿洖娴嬭瘯鎴愬姛鏍囧織 return ICUNIT_SUCCESS; } +// 瀹氫箟涓涓祴璇曟敞鍐屽嚱鏁帮紝鐢ㄤ簬灏咹errorTest娴嬭瘯娣诲姞鍒版祴璇曞浠朵腑 void NetNetDbTest013(void) { + // 浣跨敤TEST_ADD_CASE瀹忔坊鍔犳祴璇曠敤渚嬪埌娴嬭瘯妗嗘灦涓 + // 瀹忕殑鍙傛暟鍖呮嫭娴嬭瘯鐢ㄤ緥鐨勫悕绉帮紙褰撳墠鍑芥暟鍚嶏級銆佹祴璇曞嚱鏁般佹祴璇曠被鍒佹祴璇曞崗璁佹祴璇曠骇鍒拰娴嬭瘯绫诲瀷 + // 杩欎簺鍙傛暟甯姪娴嬭瘯妗嗘灦缁勭粐鍜屾墽琛屾祴璇曠敤渚 TEST_ADD_CASE(__FUNCTION__, HerrorTest, TEST_POSIX, TEST_TCP, TEST_LEVEL0, TEST_FUNCTION); -} +} \ No newline at end of file diff --git a/kernel_liteos_a-master/testsuites/unittest/process/basic/pthread/process_pthread_test.cpp b/kernel_liteos_a-master/testsuites/unittest/process/basic/pthread/process_pthread_test.cpp index 3c2187c..c14dff8 100644 --- a/kernel_liteos_a-master/testsuites/unittest/process/basic/pthread/process_pthread_test.cpp +++ b/kernel_liteos_a-master/testsuites/unittest/process/basic/pthread/process_pthread_test.cpp @@ -28,59 +28,77 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +// 鍖呭惈鏍囧噯杈撳叆杈撳嚭澶存枃浠 #include "stdio.h" +// 鍖呭惈C鏍囧噯搴撲腑鐨勬瀬闄愬畾涔 #include +// 鍖呭惈Google Test娴嬭瘯妗嗘灦澶存枃浠 #include +// 鍖呭惈鑷畾涔夌殑pthread娴嬭瘯澶存枃浠 #include "it_pthread_test.h" +// 鍖呭惈绯荤粺璧勬簮搴撳ご鏂囦欢 #include +// 浣跨敤Google Test妗嗘灦鐨勬墿灞曞懡鍚嶇┖闂 using namespace testing::ext; + +// 瀹氫箟涓涓悕涓篛HOS鐨勫懡鍚嶇┖闂达紝鐢ㄤ簬灏佽娴嬭瘯浠g爜 namespace OHOS { +// 瀹氫箟涓涓祴璇曠被ProcessPthreadTest锛屽畠缁ф壙鑷狦oogle Test妗嗘灦鐨凾est绫 class ProcessPthreadTest : public testing::Test { public: - static void SetUpTestCase(void) - { - struct sched_param param = { 0 }; - int currThreadPolicy, ret; + // 娴嬭瘯濂椾欢寮濮嬪墠璋冪敤鐨勯潤鎬佹垚鍛樺嚱鏁帮紝鐢ㄤ簬璁剧疆娴嬭瘯鐜 + static void SetUpTestCase(void) { + struct sched_param param = { 0 }; // 瀹氫箟璋冨害鍙傛暟缁撴瀯浣 + int currThreadPolicy, ret; // 瀹氫箟褰撳墠绾跨▼绛栫暐鍜岃繑鍥炲煎彉閲 + // 鑾峰彇褰撳墠绾跨▼鐨勮皟搴﹀弬鏁 ret = pthread_getschedparam(pthread_self(), &currThreadPolicy, ¶m); + // 鏂█杩斿洖鍊间负0锛屽鏋滀笉涓0鍒欑敤-ret浣滀负閿欒鐮 ICUNIT_ASSERT_EQUAL_VOID(ret, 0, -ret); + // 璁剧疆绾跨▼鐨勮皟搴︿紭鍏堢骇 param.sched_priority = TASK_PRIO_TEST; + // 璁剧疆褰撳墠绾跨▼鐨勮皟搴﹀弬鏁 ret = pthread_setschedparam(pthread_self(), SCHED_RR, ¶m); + // 鏂█杩斿洖鍊间负0锛屽鏋滀笉涓0鍒欑敤-ret浣滀负閿欒鐮 ICUNIT_ASSERT_EQUAL_VOID(ret, 0, -ret); } + // 娴嬭瘯濂椾欢缁撴潫鍚庤皟鐢ㄧ殑闈欐佹垚鍛樺嚱鏁帮紝鐢ㄤ簬娓呯悊娴嬭瘯鐜锛堣繖閲屼负绌哄疄鐜帮級 static void TearDownTestCase(void) {} }; #if defined(LOSCFG_USER_TEST_SMOKE) +// 濡傛灉瀹氫箟浜哃OSCFG_USER_TEST_SMOKE锛屽垯缂栬瘧骞舵墽琛屼互涓嬫祴璇曠敤渚 /* * * @tc.name: it_test_pthread_003 * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread003, TestSize.Level0) -{ +// 瀹氫箟娴嬭瘯鐢ㄤ緥ItTestPthread003 +HWTEST_F(ProcessPthreadTest, ItTestPthread003, TestSize.Level0) { ItTestPthread003(); } +#endif #ifndef LOSCFG_USER_TEST_SMP +// 濡傛灉鏈畾涔塋OSCFG_USER_TEST_SMP锛屽垯缂栬瘧骞舵墽琛屼互涓嬫祴璇曠敤渚 /* * * @tc.name: it_test_pthread_006 * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread006, TestSize.Level0) -{ +// 瀹氫箟娴嬭瘯鐢ㄤ緥ItTestPthread006 +HWTEST_F(ProcessPthreadTest, ItTestPthread006, TestSize.Level0) { ItTestPthread006(); } #endif +// 浠ヤ笅鏄叾浠栨祴璇曠敤渚嬬殑瀹氫箟锛屾瘡涓祴璇曠敤渚嬮兘鏈夌浉搴旂殑娉ㄩ噴璇存槑鍏跺姛鑳藉拰绫诲瀷 /* * * @tc.name: it_test_pthread_007 * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread007, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread007, TestSize.Level0) { ItTestPthread007(); } @@ -89,8 +107,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread007, TestSize.Level0) * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread008, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread008, TestSize.Level0) { ItTestPthread008(); } @@ -99,8 +116,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread008, TestSize.Level0) * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread009, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread009, TestSize.Level0) { ItTestPthread009(); } @@ -110,8 +126,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread009, TestSize.Level0) * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread010, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread010, TestSize.Level0) { ItTestPthread010(); } #endif @@ -121,8 +136,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread010, TestSize.Level0) * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread011, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread011, TestSize.Level0) { ItTestPthread011(); } @@ -131,8 +145,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread011, TestSize.Level0) * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread012, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread012, TestSize.Level0) { ItTestPthread012(); } @@ -141,8 +154,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread012, TestSize.Level0) * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread013, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread013, TestSize.Level0) { ItTestPthread013(); } @@ -151,8 +163,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread013, TestSize.Level0) * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread015, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread015, TestSize.Level0) { ItTestPthread015(); } @@ -161,8 +172,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread015, TestSize.Level0) * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread016, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread016, TestSize.Level0) { ItTestPthread016(); } @@ -171,8 +181,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread016, TestSize.Level0) * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread018, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread018, TestSize.Level0) { ItTestPthread018(); } @@ -181,8 +190,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread018, TestSize.Level0) * @tc.desc: function for ProcessPthreadTest * @tc.type: FUNC */ -HWTEST_F(ProcessPthreadTest, ItTestPthread019, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread019, TestSize.Level0) { ItTestPthread019(); } @@ -193,8 +201,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread019, TestSize.Level0) * @tc.require: issueI6T3P3 * @tc.author: */ -HWTEST_F(ProcessPthreadTest, ItTestPthread020, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread020, TestSize.Level0) { ItTestPthread020(); } @@ -205,8 +212,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread020, TestSize.Level0) * @tc.require: issueI6T3P3 * @tc.author: */ -HWTEST_F(ProcessPthreadTest, ItTestPthread021, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread021, TestSize.Level0) { ItTestPthread021(); } @@ -217,8 +223,7 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread021, TestSize.Level0) * @tc.require: issueI6T3P3 * @tc.author: */ -HWTEST_F(ProcessPthreadTest, ItTestPthread022, TestSize.Level0) -{ +HWTEST_F(ProcessPthreadTest, ItTestPthread022, TestSize.Level0) { ItTestPthread022(); } @@ -229,197 +234,4 @@ HWTEST_F(ProcessPthreadTest, ItTestPthread022, TestSize.Level0) * @tc.require: issueI6T3P3 * @tc.author: */ -HWTEST_F(ProcessPthreadTest, ItTestPthread024, TestSize.Level0) -{ - ItTestPthread024(); -} - -/* * - * @tc.name: it_test_pthread_026 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - * @tc.require: issueI6T3P3 - * @tc.author: - */ -HWTEST_F(ProcessPthreadTest, ItTestPthread026, TestSize.Level0) -{ - ItTestPthread026(); -} - -/* * - * @tc.name: it_test_pthread_027 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - * @tc.require: issueI6T3P3 - * @tc.author: - */ -HWTEST_F(ProcessPthreadTest, ItTestPthread027, TestSize.Level0) -{ - ItTestPthread027(); -} - - -/* * - * @tc.name: it_test_pthread_023 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - * @tc.require: issueI6T3P3 - * @tc.author: - */ -HWTEST_F(ProcessPthreadTest, ItTestPthread023, TestSize.Level0) -{ - ItTestPthread023(); -} - - -/* * - * @tc.name: it_test_pthread_025 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - * @tc.require: issueI6T3P3 - * @tc.author: - */ -HWTEST_F(ProcessPthreadTest, ItTestPthread025, TestSize.Level0) -{ - ItTestPthread025(); -} - -/* * - * @tc.name: it_test_pthread_017 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthread017, TestSize.Level0) -{ - ItTestPthread017(); -} - - -/* * - * @tc.name: it_test_pthread_once_001 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthreadOnce001, TestSize.Level0) -{ - ItTestPthreadOnce001(); -} - -/* * - * @tc.name: it_test_pthread_atfork_001 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthreadAtfork001, TestSize.Level0) -{ - ItTestPthreadAtfork001(); -} - -/* * - * @tc.name: it_test_pthread_atfork_002 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthreadAtfork002, TestSize.Level0) -{ - ItTestPthreadAtfork002(); -} - -/* * - * @tc.name: it_test_pthread_cond_001 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthreadCond001, TestSize.Level0) -{ - ItTestPthreadCond001(); -} - -/* * - * @tc.name: it_test_pthread_cond_002 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthreadCond002, TestSize.Level0) -{ - ItTestPthreadCond002(); -} - -/* * - * @tc.name: it_test_pthread_cond_003 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthreadCond003, TestSize.Level0) -{ - ItTestPthreadCond003(); -} - -/* * - * @tc.name: it_test_pthread_cond_004 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthreadCond004, TestSize.Level0) -{ - ItTestPthreadCond004(); -} - -#endif - -#if defined(LOSCFG_USER_TEST_FULL) -/* * - * @tc.name: it_test_pthread_001 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthread001, TestSize.Level0) -{ - ItTestPthread001(); -} - -#ifndef LOSCFG_USER_TEST_SMP -/* * - * @tc.name: it_test_pthread_002 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthread002, TestSize.Level0) -{ - ItTestPthread002(); -} -#endif -/* * - * @tc.name: it_test_pthread_004 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthread004, TestSize.Level0) -{ - ItTestPthread004(); -} - -/* * - * @tc.name: it_test_pthread_005 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthread005, TestSize.Level0) -{ - ItTestPthread005(); -} - -#ifndef LOSCFG_USER_TEST_SMP -/* * - * @tc.name: it_test_pthread_014 - * @tc.desc: function for ProcessPthreadTest - * @tc.type: FUNC - */ -HWTEST_F(ProcessPthreadTest, ItTestPthread014, TestSize.Level0) -{ - ItTestPthread014(); -} -#endif - -#endif -} // namespace OHOS +HWTEST_F(ProcessPthreadTest, ItTestP \ No newline at end of file