Extra tests for printf of NaN and Inf.

Change-Id: I61fc655d9777a03aabf38f6ebd047fe275386f05
This commit is contained in:
Elliott Hughes 2014-04-14 12:11:28 -07:00
parent 28417eb9b5
commit 7823f320b1

View File

@ -18,6 +18,7 @@
#include <errno.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
@ -302,6 +303,24 @@ TEST(stdio, snprintf_smoke) {
EXPECT_STREQ("print_me_twice print_me_twice", buf);
}
TEST(stdio, snprintf_f_special) {
char buf[BUFSIZ];
snprintf(buf, sizeof(buf), "%f", nanf(""));
EXPECT_STREQ("NaN", buf);
snprintf(buf, sizeof(buf), "%f", HUGE_VALF);
EXPECT_STREQ("Inf", buf);
}
TEST(stdio, snprintf_g_special) {
char buf[BUFSIZ];
snprintf(buf, sizeof(buf), "%g", nan(""));
EXPECT_STREQ("NaN", buf);
snprintf(buf, sizeof(buf), "%g", HUGE_VAL);
EXPECT_STREQ("Inf", buf);
}
TEST(stdio, snprintf_d_INT_MAX) {
char buf[BUFSIZ];
snprintf(buf, sizeof(buf), "%d", INT_MAX);