Do not check user/group names in pwd/grp tests for OEM uid/gids

Vendors that use config.fs will have their own uniquely named
user/group names for uids/gids that fall in the OEM ranges.  We
continue to allow lookup via oem_## for these values, however the
returned structs will always include the name from config.fs, so we do
not check it for anything in the tests.

Bug: 77549259
Test: bionic unit tests with uid 5000 as AID_CRAS
Change-Id: I27fc1fdd0e22063fea82b4c9d2a6fb8b865c5d7b
diff --git a/tests/grp_pwd_test.cpp b/tests/grp_pwd_test.cpp
index 12d4b7f..fa8a662 100644
--- a/tests/grp_pwd_test.cpp
+++ b/tests/grp_pwd_test.cpp
@@ -44,9 +44,12 @@
 
 #if defined(__BIONIC__)
 
-static void check_passwd(const passwd* pwd, const char* username, uid_t uid, uid_type_t uid_type) {
+static void check_passwd(const passwd* pwd, const char* username, uid_t uid, uid_type_t uid_type,
+                         bool check_username) {
   ASSERT_TRUE(pwd != NULL);
-  EXPECT_STREQ(username, pwd->pw_name);
+  if (check_username) {
+    EXPECT_STREQ(username, pwd->pw_name);
+  }
   EXPECT_EQ(uid, pwd->pw_uid);
   EXPECT_EQ(uid, pwd->pw_gid);
   EXPECT_EQ(NULL, pwd->pw_passwd);
@@ -62,23 +65,26 @@
   EXPECT_STREQ("/system/bin/sh", pwd->pw_shell);
 }
 
-static void check_getpwuid(const char* username, uid_t uid, uid_type_t uid_type) {
+static void check_getpwuid(const char* username, uid_t uid, uid_type_t uid_type,
+                           bool check_username) {
   errno = 0;
   passwd* pwd = getpwuid(uid);
   ASSERT_EQ(0, errno);
   SCOPED_TRACE("getpwuid");
-  check_passwd(pwd, username, uid, uid_type);
+  check_passwd(pwd, username, uid, uid_type, check_username);
 }
 
-static void check_getpwnam(const char* username, uid_t uid, uid_type_t uid_type) {
+static void check_getpwnam(const char* username, uid_t uid, uid_type_t uid_type,
+                           bool check_username) {
   errno = 0;
   passwd* pwd = getpwnam(username);
   ASSERT_EQ(0, errno);
   SCOPED_TRACE("getpwnam");
-  check_passwd(pwd, username, uid, uid_type);
+  check_passwd(pwd, username, uid, uid_type, check_username);
 }
 
-static void check_getpwuid_r(const char* username, uid_t uid, uid_type_t uid_type) {
+static void check_getpwuid_r(const char* username, uid_t uid, uid_type_t uid_type,
+                             bool check_username) {
   passwd pwd_storage;
   char buf[512];
   int result;
@@ -89,10 +95,11 @@
   ASSERT_EQ(0, result);
   ASSERT_EQ(0, errno);
   SCOPED_TRACE("getpwuid_r");
-  check_passwd(pwd, username, uid, uid_type);
+  check_passwd(pwd, username, uid, uid_type, check_username);
 }
 
-static void check_getpwnam_r(const char* username, uid_t uid, uid_type_t uid_type) {
+static void check_getpwnam_r(const char* username, uid_t uid, uid_type_t uid_type,
+                             bool check_username) {
   passwd pwd_storage;
   char buf[512];
   int result;
@@ -103,14 +110,15 @@
   ASSERT_EQ(0, result);
   ASSERT_EQ(0, errno);
   SCOPED_TRACE("getpwnam_r");
-  check_passwd(pwd, username, uid, uid_type);
+  check_passwd(pwd, username, uid, uid_type, check_username);
 }
 
-static void check_get_passwd(const char* username, uid_t uid, uid_type_t uid_type) {
-  check_getpwuid(username, uid, uid_type);
-  check_getpwnam(username, uid, uid_type);
-  check_getpwuid_r(username, uid, uid_type);
-  check_getpwnam_r(username, uid, uid_type);
+static void check_get_passwd(const char* username, uid_t uid, uid_type_t uid_type,
+                             bool check_username = true) {
+  check_getpwuid(username, uid, uid_type, check_username);
+  check_getpwnam(username, uid, uid_type, check_username);
+  check_getpwuid_r(username, uid, uid_type, check_username);
+  check_getpwnam_r(username, uid, uid_type, check_username);
 }
 
 #else // !defined(__BIONIC__)
@@ -119,6 +127,11 @@
   GTEST_LOG_(INFO) << "This test is about uid/username translation for Android, which does nothing on libc other than bionic.\n";
 }
 
+static void check_get_passwd(const char* /* username */, uid_t /* uid */, uid_type_t /* uid_type */,
+                             bool /* check_username */) {
+  print_no_getpwnam_test_info();
+}
+
 static void check_get_passwd(const char* /* username */, uid_t /* uid */, uid_type_t /* uid_type */) {
   print_no_getpwnam_test_info();
 }
@@ -138,19 +151,19 @@
 }
 
 TEST(pwd, getpwnam_oem_id_5000) {
-  check_get_passwd("oem_5000", 5000, TYPE_SYSTEM);
+  check_get_passwd("oem_5000", 5000, TYPE_SYSTEM, false);
 }
 
 TEST(pwd, getpwnam_oem_id_5999) {
-  check_get_passwd("oem_5999", 5999, TYPE_SYSTEM);
+  check_get_passwd("oem_5999", 5999, TYPE_SYSTEM, false);
 }
 
 TEST(pwd, getpwnam_oem_id_2900) {
-  check_get_passwd("oem_2900", 2900, TYPE_SYSTEM);
+  check_get_passwd("oem_2900", 2900, TYPE_SYSTEM, false);
 }
 
 TEST(pwd, getpwnam_oem_id_2999) {
-  check_get_passwd("oem_2999", 2999, TYPE_SYSTEM);
+  check_get_passwd("oem_2999", 2999, TYPE_SYSTEM, false);
 }
 
 TEST(pwd, getpwnam_app_id_nobody) {
@@ -273,34 +286,39 @@
 #endif
 }
 
-static void check_group(const group* grp, const char* group_name, gid_t gid) {
+static void check_group(const group* grp, const char* group_name, gid_t gid,
+                        bool check_groupname = true) {
   ASSERT_TRUE(grp != NULL);
-  EXPECT_STREQ(group_name, grp->gr_name);
+  if (check_groupname) {
+    EXPECT_STREQ(group_name, grp->gr_name);
+  }
   EXPECT_EQ(gid, grp->gr_gid);
   ASSERT_TRUE(grp->gr_mem != NULL);
-  EXPECT_STREQ(group_name, grp->gr_mem[0]);
+  if (check_groupname) {
+    EXPECT_STREQ(group_name, grp->gr_mem[0]);
+  }
   EXPECT_TRUE(grp->gr_mem[1] == NULL);
 }
 
 #if defined(__BIONIC__)
 
-static void check_getgrgid(const char* group_name, gid_t gid) {
+static void check_getgrgid(const char* group_name, gid_t gid, bool check_groupname) {
   errno = 0;
   group* grp = getgrgid(gid);
   ASSERT_EQ(0, errno);
   SCOPED_TRACE("getgrgid");
-  check_group(grp, group_name, gid);
+  check_group(grp, group_name, gid, check_groupname);
 }
 
-static void check_getgrnam(const char* group_name, gid_t gid) {
+static void check_getgrnam(const char* group_name, gid_t gid, bool check_groupname) {
   errno = 0;
   group* grp = getgrnam(group_name);
   ASSERT_EQ(0, errno);
   SCOPED_TRACE("getgrnam");
-  check_group(grp, group_name, gid);
+  check_group(grp, group_name, gid, check_groupname);
 }
 
-static void check_getgrgid_r(const char* group_name, gid_t gid) {
+static void check_getgrgid_r(const char* group_name, gid_t gid, bool check_groupname) {
   group grp_storage;
   char buf[512];
   group* grp;
@@ -310,10 +328,10 @@
   ASSERT_EQ(0, result);
   ASSERT_EQ(0, errno);
   SCOPED_TRACE("getgrgid_r");
-  check_group(grp, group_name, gid);
+  check_group(grp, group_name, gid, check_groupname);
 }
 
-static void check_getgrnam_r(const char* group_name, gid_t gid) {
+static void check_getgrnam_r(const char* group_name, gid_t gid, bool check_groupname) {
   group grp_storage;
   char buf[512];
   group* grp;
@@ -323,14 +341,14 @@
   ASSERT_EQ(0, result);
   ASSERT_EQ(0, errno);
   SCOPED_TRACE("getgrnam_r");
-  check_group(grp, group_name, gid);
+  check_group(grp, group_name, gid, check_groupname);
 }
 
-static void check_get_group(const char* group_name, gid_t gid) {
-  check_getgrgid(group_name, gid);
-  check_getgrnam(group_name, gid);
-  check_getgrgid_r(group_name, gid);
-  check_getgrnam_r(group_name, gid);
+static void check_get_group(const char* group_name, gid_t gid, bool check_groupname = true) {
+  check_getgrgid(group_name, gid, check_groupname);
+  check_getgrnam(group_name, gid, check_groupname);
+  check_getgrgid_r(group_name, gid, check_groupname);
+  check_getgrnam_r(group_name, gid, check_groupname);
 }
 
 #else // !defined(__BIONIC__)
@@ -339,6 +357,10 @@
   GTEST_LOG_(INFO) << "This test is about gid/group_name translation for Android, which does nothing on libc other than bionic.\n";
 }
 
+static void check_get_group(const char*, gid_t, bool) {
+  print_no_getgrnam_test_info();
+}
+
 static void check_get_group(const char*, gid_t) {
   print_no_getgrnam_test_info();
 }
@@ -358,19 +380,19 @@
 }
 
 TEST(grp, getgrnam_oem_id_5000) {
-  check_get_group("oem_5000", 5000);
+  check_get_group("oem_5000", 5000, false);
 }
 
 TEST(grp, getgrnam_oem_id_5999) {
-  check_get_group("oem_5999", 5999);
+  check_get_group("oem_5999", 5999, false);
 }
 
 TEST(grp, getgrnam_oem_id_2900) {
-  check_get_group("oem_2900", 2900);
+  check_get_group("oem_2900", 2900, false);
 }
 
 TEST(grp, getgrnam_oem_id_2999) {
-  check_get_group("oem_2999", 2999);
+  check_get_group("oem_2999", 2999, false);
 }
 
 TEST(grp, getgrnam_app_id_nobody) {