summaryrefslogtreecommitdiff
path: root/tests/stdio_test.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2018-08-30 16:00:42 -0700
committerElliott Hughes <enh@google.com>2018-08-30 16:00:42 -0700
commit654cd8331b3dafb2027a3062104c6e9934af1935 (patch)
tree82562a68054fbcbe65259cd594290278ca94f8fc /tests/stdio_test.cpp
parent003521af4760215c9c3b8ba80c88dd3b3c87ab67 (diff)
Add the %m GNU extension to printf/wprintf.
And remove the local hack from syslog(3). Bug: http://b/112776560 Test: ran tests Change-Id: I5807e729a978df26187ea0ee255bba4ca74220c8
Diffstat (limited to 'tests/stdio_test.cpp')
-rw-r--r--tests/stdio_test.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/stdio_test.cpp b/tests/stdio_test.cpp
index d96da024b..4107a7490 100644
--- a/tests/stdio_test.cpp
+++ b/tests/stdio_test.cpp
@@ -2356,6 +2356,32 @@ TEST(STDIO_TEST, sprintf_30445072) {
ASSERT_EQ(buf, "hello");
}
+TEST(STDIO_TEST, printf_m) {
+ char buf[BUFSIZ];
+ errno = 0;
+ snprintf(buf, sizeof(buf), "<%m>");
+ ASSERT_STREQ("<Success>", buf);
+ errno = -1;
+ snprintf(buf, sizeof(buf), "<%m>");
+ ASSERT_STREQ("<Unknown error -1>", buf);
+ errno = EINVAL;
+ snprintf(buf, sizeof(buf), "<%m>");
+ ASSERT_STREQ("<Invalid argument>", buf);
+}
+
+TEST(STDIO_TEST, wprintf_m) {
+ wchar_t buf[BUFSIZ];
+ errno = 0;
+ swprintf(buf, sizeof(buf), L"<%m>");
+ ASSERT_EQ(std::wstring(L"<Success>"), buf);
+ errno = -1;
+ swprintf(buf, sizeof(buf), L"<%m>");
+ ASSERT_EQ(std::wstring(L"<Unknown error -1>"), buf);
+ errno = EINVAL;
+ swprintf(buf, sizeof(buf), L"<%m>");
+ ASSERT_EQ(std::wstring(L"<Invalid argument>"), buf);
+}
+
TEST(STDIO_TEST, fopen_append_mode_and_ftell) {
TemporaryFile tf;
SetFileTo(tf.filename, "0123456789");