TEST(i, errno, EOVERFLOW, "after overflow: %d != %d");
#endif
for (j=0; int_tests[j].fmt; j++) {
- TEST(i, snprintf(b, sizeof b, int_tests[j].fmt, int_tests[j].i), strlen(b), "%d != %d");
- TEST_S(b, int_tests[j].expect, "bad integer conversion");
+ i = snprintf(b, sizeof b, int_tests[j].fmt, int_tests[j].i);
+ if (i != strlen(int_tests[j].expect)) {
+ error("snprintf(b, sizeof b, \"%s\", %d) returned %d wanted %d\n",
+ int_tests[j].fmt, int_tests[j].i, i, strlen(int_tests[j].expect));
+ }
+ if (strcmp(b, int_tests[j].expect) != 0)
+ error("bad integer conversion: got \"%s\", want \"%s\"\n", b, int_tests[j].expect);
}
for (j=0; fp_tests[j].fmt; j++) {
- TEST(i, snprintf(b, sizeof b, fp_tests[j].fmt, fp_tests[j].f), strlen(b), "%d != %d");
- TEST_S(b, fp_tests[j].expect, "bad floating point conversion");
+ i = snprintf(b, sizeof b, fp_tests[j].fmt, fp_tests[j].f);
+ if (i != strlen(fp_tests[j].expect)) {
+ error("snprintf(b, sizeof b, \"%s\", %f) returned %d wanted %d\n",
+ fp_tests[j].fmt, fp_tests[j].f, i, strlen(fp_tests[j].expect));
+ }
+ if (strcmp(b, fp_tests[j].expect) != 0)
+ error("bad floating-point conversion: got \"%s\", want \"%s\"\n", b, fp_tests[j].expect);
}
TEST(i, snprintf(0, 0, "%.4a", 1.0), 11, "%d != %d");
TEST(i, b[5], 'x', "buffer overrun");
for (j=0; int_tests[j].fmt; j++) {
- TEST(i, swprintf(b, sizeof b/sizeof *b, int_tests[j].fmt, int_tests[j].i), wcslen(b), "%d != %d");
- TEST_S(b, int_tests[j].expect, "bad integer conversion");
+ i = swprintf(b, sizeof b, int_tests[j].fmt, int_tests[j].i);
+ if (i != wcslen(int_tests[j].expect)) {
+ error("swprintf(b, sizeof b, \"%ls\", %d) returned %d wanted %d\n",
+ int_tests[j].fmt, int_tests[j].i, i, wcslen(int_tests[j].expect));
+ }
+ if (wcscmp(b, int_tests[j].expect) != 0)
+ error("bad integer conversion: got \"%ls\", want \"%ls\"\n", b, int_tests[j].expect);
}
for (j=0; fp_tests[j].fmt; j++) {
- TEST(i, swprintf(b, sizeof b/sizeof *b, fp_tests[j].fmt, fp_tests[j].f), wcslen(b), "%d != %d");
- TEST_S(b, fp_tests[j].expect, "bad floating point conversion");
+ i = swprintf(b, sizeof b, fp_tests[j].fmt, fp_tests[j].f);
+ if (i != wcslen(fp_tests[j].expect)) {
+ error("swprintf(b, sizeof b, \"%ls\", %f) returned %d wanted %d\n",
+ fp_tests[j].fmt, fp_tests[j].f, i, wcslen(fp_tests[j].expect));
+ }
+ if (wcscmp(b, fp_tests[j].expect) != 0)
+ error("bad floating-point conversion: got \"%ls\", want \"%ls\"\n", b, fp_tests[j].expect);
}
return test_status;
}