1 Star 0 Fork 40

chegJH / srcOpenEuler-iSulad

forked from src-openEuler / iSulad 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0006-Adapt-to-bionic-libc-improve-lcov-coverage.patch 3.53 KB
一键复制 编辑 原始数据 按行查看 历史
chegJH 提交于 2022-05-07 15:37 . bionic adaptation, increase lcov coverage
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)
1
https://gitee.com/chegJH/srcOpenEuler-iSulad.git
git@gitee.com:chegJH/srcOpenEuler-iSulad.git
chegJH
srcOpenEuler-iSulad
srcOpenEuler-iSulad
master

搜索帮助