Merge "Yet more printf de-duplication."
diff --git a/libc/stdio/stdio.cpp b/libc/stdio/stdio.cpp
index b4b2a36..d627556 100644
--- a/libc/stdio/stdio.cpp
+++ b/libc/stdio/stdio.cpp
@@ -940,11 +940,21 @@
return __vfprintf(fp, fmt, ap);
}
+int vfscanf(FILE* fp, const char* fmt, va_list ap) {
+ ScopedFileLock sfl(fp);
+ return __svfscanf(fp, fmt, ap);
+}
+
int vfwprintf(FILE* fp, const wchar_t* fmt, va_list ap) {
ScopedFileLock sfl(fp);
return __vfwprintf(fp, fmt, ap);
}
+int vfwscanf(FILE* fp, const wchar_t* fmt, va_list ap) {
+ ScopedFileLock sfl(fp);
+ return __vfwscanf(fp, fmt, ap);
+}
+
int vprintf(const char* fmt, va_list ap) {
return vfprintf(stdout, fmt, ap);
}
diff --git a/libc/stdio/vfscanf.c b/libc/stdio/vfscanf.c
index c09132f..853e0cf 100644
--- a/libc/stdio/vfscanf.c
+++ b/libc/stdio/vfscanf.c
@@ -838,12 +838,3 @@
}
/* NOTREACHED */
}
-
-int vfscanf(FILE* fp, const char* fmt0, __va_list ap) {
- int r;
-
- FLOCKFILE(fp);
- r = __svfscanf(fp, fmt0, ap);
- FUNLOCKFILE(fp);
- return (r);
-}
diff --git a/libc/stdio/vfwscanf.c b/libc/stdio/vfwscanf.c
index bbe534c..206f4a2 100644
--- a/libc/stdio/vfwscanf.c
+++ b/libc/stdio/vfwscanf.c
@@ -654,12 +654,3 @@
return (nassigned);
}
#pragma GCC diagnostic pop
-
-int vfwscanf(FILE* __restrict fp, const wchar_t* __restrict fmt, __va_list ap) {
- int r;
-
- FLOCKFILE(fp);
- r = __vfwscanf(fp, fmt, ap);
- FUNLOCKFILE(fp);
- return (r);
-}
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);
}