代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/iSulad 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
From 88596185a48394d9aea122e80a6b6cf86ac216ba Mon Sep 17 00:00:00 2001
From: chegJH <hejunjie10@huawei.com>
Date: Tue, 10 May 2022 18:06:53 +0800
Subject: [PATCH] Adapt to bionic libc, improve lcov coverage
Signed-off-by: chegJH <hejunjie10@huawei.com>
---
src/utils/cutils/CMakeLists.txt | 4 ++++
test/cutils/utils_pwgr/passwd_sample | 1 +
test/cutils/utils_pwgr/utils_pwgr_ut.cc | 24 ++++++++++++++++++++++++
3 files changed, 29 insertions(+)
diff --git a/src/utils/cutils/CMakeLists.txt b/src/utils/cutils/CMakeLists.txt
index 0ecad671..30414d91 100644
--- a/src/utils/cutils/CMakeLists.txt
+++ b/src/utils/cutils/CMakeLists.txt
@@ -2,6 +2,10 @@
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} local_cutils_srcs)
add_subdirectory(map)
+if (NOT ANDROID)
+ list(REMOVE_ITEM local_cutils_srcs "${CMAKE_CURRENT_SOURCE_DIR}/utils_pwgr.c")
+endif()
+
set(CUTILS_SRCS
${local_cutils_srcs}
${MAP_SRCS}
diff --git a/test/cutils/utils_pwgr/passwd_sample b/test/cutils/utils_pwgr/passwd_sample
index d4f3250d..76853454 100644
--- a/test/cutils/utils_pwgr/passwd_sample
+++ b/test/cutils/utils_pwgr/passwd_sample
@@ -3,6 +3,7 @@ bin:x:1:1:bin:/bin:/sbin/nologin
bin:x:-1:1:bin:/bin:/sbin/nologin
uidonly:x:1::bin:/bin:/sbin/nologin
::::1:1:bin:/bin:/sbin/nologin
+root:x:
#npt:*:66:77::/etc/ntp:/sbin/nologin
npt:*:66:77::/etc/ntp:/sbin/nologin
diff --git a/test/cutils/utils_pwgr/utils_pwgr_ut.cc b/test/cutils/utils_pwgr/utils_pwgr_ut.cc
index 1a121f88..1ed8eaa1 100644
--- a/test/cutils/utils_pwgr/utils_pwgr_ut.cc
+++ b/test/cutils/utils_pwgr/utils_pwgr_ut.cc
@@ -24,6 +24,7 @@ TEST(utils_pwgr, test_getpwent_r)
struct passwd pw;
struct passwd *ppw = nullptr;
+ struct passwd *ppw_alter = &pw;
char buf[BUFSIZ];
std::vector<std::tuple<std::string, std::string, int, int, std::string, std::string, std::string>> testcase = {
@@ -36,6 +37,17 @@ TEST(utils_pwgr, test_getpwent_r)
std::make_tuple("-npt", "*", 0, 0, "", "/etc/ntp", "/sbin/nologin")
};
+ ASSERT_EQ(util_getpwent_r(NULL, &pw, buf, sizeof(buf), &ppw), -1);
+ ASSERT_EQ(util_getpwent_r(f_pw, &pw, NULL, 0, &ppw), -1);
+ ASSERT_EQ(util_getpwent_r(f_pw, &pw, NULL, 1, &ppw), -1);
+ ASSERT_EQ(util_getpwent_r(f_pw, &pw, buf, sizeof(buf), &ppw_alter), -1);
+
+ while (!feof(f_pw)) {
+ (void)getc(f_pw);
+ }
+ ASSERT_EQ(util_getpwent_r(f_pw, &pw, buf, sizeof(buf), &ppw), ENOENT);
+ rewind(f_pw);
+
for (const auto &elem : testcase) {
ASSERT_EQ(util_getpwent_r(f_pw, &pw, buf, sizeof(buf), &ppw), 0);
ASSERT_STREQ(pw.pw_name, std::get<0>(elem).c_str());
@@ -61,6 +73,7 @@ TEST(utils_pwgr, test_getgrent_r)
struct group gr{0};
struct group *pgr = nullptr;
+ struct group *pgr_alter = &gr;
char buf[BUFSIZ];
size_t i = 0;
size_t j = 0;
@@ -80,6 +93,17 @@ TEST(utils_pwgr, test_getgrent_r)
std::make_tuple("adm", "x", 4),
};
+ ASSERT_EQ(util_getgrent_r(NULL, &gr, buf, sizeof(buf), &pgr), -1);
+ ASSERT_EQ(util_getgrent_r(f_gr, &gr, NULL, 0, &pgr), -1);
+ ASSERT_EQ(util_getgrent_r(f_gr, &gr, NULL, 1, &pgr), -1);
+ ASSERT_EQ(util_getgrent_r(f_gr, &gr, buf, sizeof(buf), &pgr_alter), -1);
+
+ while (!feof(f_gr)) {
+ (void)getc(f_gr);
+ }
+ ASSERT_EQ(util_getgrent_r(f_gr, &gr, buf, sizeof(buf), &pgr), ENOENT);
+ rewind(f_gr);
+
for (; i < string_list.size(); ++i) {
ASSERT_EQ(util_getgrent_r(f_gr, &gr, buf, sizeof(buf), &pgr), 0);
ASSERT_STREQ(gr.gr_name, std::get<0>(testcase[i]).c_str());
--
2.32.0 (Apple Git-132)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。