Better test handling and logging in grp_pwd_test.cpp
grp_pwd_test.cpp uses ASSERT_ where EXPECT_ is possible, causing
missing failures when multiple failures are present.
Also, print out the uid/gid in the _iterate tests, to make debugging
easier.
Test: these same unit tests
Change-Id: I839b74fb86232b3e896091e76ab862cc5b6b8782
diff --git a/tests/grp_pwd_test.cpp b/tests/grp_pwd_test.cpp
index b8df8e7..38afee2 100644
--- a/tests/grp_pwd_test.cpp
+++ b/tests/grp_pwd_test.cpp
@@ -42,20 +42,20 @@
static void check_passwd(const passwd* pwd, const char* username, uid_t uid, uid_type_t uid_type) {
ASSERT_TRUE(pwd != NULL);
- ASSERT_STREQ(username, pwd->pw_name);
- ASSERT_EQ(uid, pwd->pw_uid);
- ASSERT_EQ(uid, pwd->pw_gid);
- ASSERT_EQ(NULL, pwd->pw_passwd);
+ EXPECT_STREQ(username, pwd->pw_name);
+ EXPECT_EQ(uid, pwd->pw_uid);
+ EXPECT_EQ(uid, pwd->pw_gid);
+ EXPECT_EQ(NULL, pwd->pw_passwd);
#ifdef __LP64__
- ASSERT_EQ(NULL, pwd->pw_gecos);
+ EXPECT_EQ(NULL, pwd->pw_gecos);
#endif
if (uid_type == TYPE_SYSTEM) {
- ASSERT_STREQ("/", pwd->pw_dir);
+ EXPECT_STREQ("/", pwd->pw_dir);
} else {
- ASSERT_STREQ("/data", pwd->pw_dir);
+ EXPECT_STREQ("/data", pwd->pw_dir);
}
- ASSERT_STREQ("/system/bin/sh", pwd->pw_shell);
+ EXPECT_STREQ("/system/bin/sh", pwd->pw_shell);
}
static void check_getpwuid(const char* username, uid_t uid, uid_type_t uid_type) {
@@ -196,24 +196,24 @@
setpwent();
while ((pwd = getpwent()) != NULL) {
ASSERT_TRUE(NULL != pwd->pw_name);
- ASSERT_EQ(pwd->pw_gid, pwd->pw_uid);
- ASSERT_EQ(NULL, pwd->pw_passwd);
+ EXPECT_EQ(pwd->pw_gid, pwd->pw_uid) << "pwd->pw_uid: " << pwd->pw_uid;
+ EXPECT_EQ(NULL, pwd->pw_passwd) << "pwd->pw_uid: " << pwd->pw_uid;
#ifdef __LP64__
- ASSERT_TRUE(NULL == pwd->pw_gecos);
+ EXPECT_TRUE(NULL == pwd->pw_gecos) << "pwd->pw_uid: " << pwd->pw_uid;
#endif
- ASSERT_TRUE(NULL != pwd->pw_shell);
+ EXPECT_TRUE(NULL != pwd->pw_shell);
if (pwd->pw_uid >= exist.size()) {
- ASSERT_STREQ("/data", pwd->pw_dir);
+ EXPECT_STREQ("/data", pwd->pw_dir) << "pwd->pw_uid: " << pwd->pw_uid;
application = true;
} else {
- ASSERT_STREQ("/", pwd->pw_dir);
+ EXPECT_STREQ("/", pwd->pw_dir) << "pwd->pw_uid: " << pwd->pw_uid;
// TODO(b/27999086): fix this check with the OEM range
// If OEMs add their own AIDs to private/android_filesystem_config.h, this check will fail.
// Long term we want to create a better solution for OEMs adding AIDs, but we're not there
// yet, so therefore we do not check for uid's in the OEM range.
if (!(pwd->pw_uid >= 2900 && pwd->pw_uid <= 2999) &&
!(pwd->pw_uid >= 5000 && pwd->pw_uid <= 5999)) {
- ASSERT_FALSE(exist[pwd->pw_uid]);
+ EXPECT_FALSE(exist[pwd->pw_uid]) << "pwd->pw_uid: " << pwd->pw_uid;
}
exist[pwd->pw_uid] = true;
}
@@ -222,24 +222,24 @@
// Required content
for (size_t n = 0; n < android_id_count; ++n) {
- ASSERT_TRUE(exist[android_ids[n].aid]);
+ EXPECT_TRUE(exist[android_ids[n].aid]) << "android_ids[n].aid: " << android_ids[n].aid;
}
for (size_t n = 2900; n < 2999; ++n) {
- ASSERT_TRUE(exist[n]);
+ EXPECT_TRUE(exist[n]) << "n: " << n;
}
for (size_t n = 5000; n < 5999; ++n) {
- ASSERT_TRUE(exist[n]);
+ EXPECT_TRUE(exist[n]) << "n: " << n;
}
- ASSERT_TRUE(application);
+ EXPECT_TRUE(application);
}
static void check_group(const group* grp, const char* group_name, gid_t gid) {
ASSERT_TRUE(grp != NULL);
- ASSERT_STREQ(group_name, grp->gr_name);
- ASSERT_EQ(gid, grp->gr_gid);
+ EXPECT_STREQ(group_name, grp->gr_name);
+ EXPECT_EQ(gid, grp->gr_gid);
ASSERT_TRUE(grp->gr_mem != NULL);
- ASSERT_STREQ(group_name, grp->gr_mem[0]);
- ASSERT_TRUE(grp->gr_mem[1] == NULL);
+ EXPECT_STREQ(group_name, grp->gr_mem[0]);
+ EXPECT_TRUE(grp->gr_mem[1] == NULL);
}
#if defined(__BIONIC__)
@@ -453,10 +453,10 @@
setgrent();
while ((grp = getgrent()) != NULL) {
- ASSERT_TRUE(grp->gr_name != NULL);
- ASSERT_TRUE(grp->gr_mem != NULL);
- ASSERT_STREQ(grp->gr_name, grp->gr_mem[0]);
- ASSERT_TRUE(grp->gr_mem[1] == NULL);
+ ASSERT_TRUE(grp->gr_name != NULL) << "grp->gr_gid: " << grp->gr_gid;
+ ASSERT_TRUE(grp->gr_mem != NULL) << "grp->gr_gid: " << grp->gr_gid;
+ EXPECT_STREQ(grp->gr_name, grp->gr_mem[0]) << "grp->gr_gid: " << grp->gr_gid;
+ EXPECT_TRUE(grp->gr_mem[1] == NULL) << "grp->gr_gid: " << grp->gr_gid;
if (grp->gr_gid >= exist.size()) {
application = true;
} else {
@@ -466,7 +466,7 @@
// yet, so therefore we do not check for gid's in the OEM range.
if (!(grp->gr_gid >= 2900 && grp->gr_gid <= 2999) &&
!(grp->gr_gid >= 5000 && grp->gr_gid <= 5999)) {
- ASSERT_FALSE(exist[grp->gr_gid]);
+ EXPECT_FALSE(exist[grp->gr_gid]) << "grp->gr_gid: " << grp->gr_gid;
}
exist[grp->gr_gid] = true;
}
@@ -475,13 +475,13 @@
// Required content
for (size_t n = 0; n < android_id_count; ++n) {
- ASSERT_TRUE(exist[android_ids[n].aid]);
+ EXPECT_TRUE(exist[android_ids[n].aid]) << "android_ids[n].aid: " << android_ids[n].aid;
}
for (size_t n = 2900; n < 2999; ++n) {
- ASSERT_TRUE(exist[n]);
+ EXPECT_TRUE(exist[n]) << "n: " << n;
}
for (size_t n = 5000; n < 5999; ++n) {
- ASSERT_TRUE(exist[n]);
+ EXPECT_TRUE(exist[n]) << "n: " << n;
}
- ASSERT_TRUE(application);
+ EXPECT_TRUE(application);
}