aboutsummaryrefslogtreecommitdiff
path: root/pft_tests.c
diff options
context:
space:
mode:
Diffstat (limited to 'pft_tests.c')
-rw-r--r--pft_tests.c1730
1 files changed, 1730 insertions, 0 deletions
diff --git a/pft_tests.c b/pft_tests.c
new file mode 100644
index 0000000..0dea3bb
--- /dev/null
+++ b/pft_tests.c
@@ -0,0 +1,1730 @@
+#include "header.h"
+
+void test_pft_nacked(void)
+{
+ ASSERT_PRINTF("hello, world!");
+ ASSERT_PRINTF("");
+ ASSERT_PRINTF("\t\n\r\v\f\n");
+}
+
+void test_pft_percent(void)
+{
+ ASSERT_PRINTF("%%");
+ ASSERT_PRINTF("%5%");
+ ASSERT_PRINTF("%-5%");
+ ASSERT_PRINTF("%05%");
+ ASSERT_PRINTF("%-05%");
+}
+
+void test_pft_nocrash(void)
+{
+ static int ncm_p = 5;
+ ASSERT_PRINTF("%");
+ ASSERT_PRINTF("%5");
+ ASSERT_PRINTF("%05");
+ ASSERT_PRINTF("%-05");
+ ASSERT_PRINTF("%-5");
+
+ ASSERT_PRINTF("%.4p", &ncm_p);
+ ASSERT_PRINTF("%.p", &ncm_p);
+ ASSERT_PRINTF("%#p", &ncm_p);
+ ASSERT_PRINTF("%05p", &ncm_p);
+ ASSERT_PRINTF("%0p", &ncm_p);
+ ASSERT_PRINTF("%+p", &ncm_p);
+ ASSERT_PRINTF("%+p", &ncm_p);
+ ASSERT_PRINTF("% p", &ncm_p);
+ ASSERT_PRINTF("% p", &ncm_p);
+ ASSERT_PRINTF("%hhp", &ncm_p);
+ ASSERT_PRINTF("%hp", &ncm_p);
+ ASSERT_PRINTF("%lp", &ncm_p);
+ ASSERT_PRINTF("%llp", &ncm_p);
+ ASSERT_PRINTF("%Lp", &ncm_p);
+ ASSERT_PRINTF("%-p", &ncm_p);
+ ASSERT_PRINTF("%Ld", 42);
+ ASSERT_PRINTF("%#d", 42);
+ ASSERT_PRINTF("%hhhd", 42);
+ ASSERT_PRINTF("%hhhhd", 42);
+ ASSERT_PRINTF("%hhld", 42);
+ ASSERT_PRINTF("%hhlld", 42);
+ ASSERT_PRINTF("%llhd", 42);
+ ASSERT_PRINTF("%llld", 42);
+ ASSERT_PRINTF("%Li", 42);
+ ASSERT_PRINTF("%#i", 42);
+ ASSERT_PRINTF("%hhhi", 42);
+ ASSERT_PRINTF("%-i", 42);
+ ASSERT_PRINTF("%+o", 42);
+ ASSERT_PRINTF("% o", 42);
+ ASSERT_PRINTF("%Lo", 42);
+ ASSERT_PRINTF("%hhho", 42);
+ ASSERT_PRINTF("%hhhho", 42);
+ ASSERT_PRINTF("%hhlo", 42);
+ ASSERT_PRINTF("%hhllo", 42);
+ ASSERT_PRINTF("%llho", 42);
+ ASSERT_PRINTF("%lllo", 42);
+ ASSERT_PRINTF("%-o", 42);
+ ASSERT_PRINTF("%Lu", 42);
+ ASSERT_PRINTF("%#u", 42);
+ ASSERT_PRINTF("%+u", 42);
+ ASSERT_PRINTF("% u", 42);
+ ASSERT_PRINTF("%hhhu", 42);
+ ASSERT_PRINTF("%hhhhu", 42);
+ ASSERT_PRINTF("%hhlu", 42);
+ ASSERT_PRINTF("%hhllu", 42);
+ ASSERT_PRINTF("%llhu", 42);
+ ASSERT_PRINTF("%lllu", 42);
+ ASSERT_PRINTF("%-u", 42);
+ ASSERT_PRINTF("%Lx", 42);
+ ASSERT_PRINTF("%+x", 42);
+ ASSERT_PRINTF("% x", 42);
+ ASSERT_PRINTF("%hhhx", 42);
+ ASSERT_PRINTF("%hhhhx", 42);
+ ASSERT_PRINTF("%hhlx", 42);
+ ASSERT_PRINTF("%hhllx", 42);
+ ASSERT_PRINTF("%llhx", 42);
+ ASSERT_PRINTF("%lllx", 42);
+ ASSERT_PRINTF("%LX", 42);
+ ASSERT_PRINTF("%+X", 42);
+ ASSERT_PRINTF("% X", 42);
+ ASSERT_PRINTF("%hhhX", 42);
+ ASSERT_PRINTF("%llhX", 42);
+ ASSERT_PRINTF("%-x", 42);
+ ASSERT_PRINTF("%hhf", 42.5);
+ ASSERT_PRINTF("%hf", 42.5);
+ ASSERT_PRINTF("%llf", 42.5);
+ ASSERT_PRINTF("%lllf", 42.5);
+ ASSERT_PRINTF("%llllf", 42.5);
+ ASSERT_PRINTF("%LLf", 42.5);
+ ASSERT_PRINTF("%Llf", 42.5);
+ ASSERT_PRINTF("%lLf", 42.5);
+ ASSERT_PRINTF("%-f", 42.5);
+
+ ASSERT_PRINTF("%-021s", "abc");
+ ASSERT_PRINTF("%-05s", "goes over");
+ ASSERT_PRINTF("%04.3s%-7.4s", "hello", "world");
+ ASSERT_PRINTF("%021s", NULL);
+ ASSERT_PRINTF("%02s", NULL);
+ ASSERT_PRINTF("%-021s", NULL);
+ ASSERT_PRINTF("%-03s", NULL);
+ ASSERT_PRINTF("%+u", 5);
+ ASSERT_PRINTF("%+u", 5);
+ ASSERT_PRINTF("%+u", 4294967295);
+ ASSERT_PRINTF("%+5u", 35);
+ ASSERT_PRINTF("%+7u", 0);
+ ASSERT_PRINTF("%+24u", 4294967295);
+ ASSERT_PRINTF("%+.7u", 234);
+ ASSERT_PRINTF("%+.3u", 3723);
+ ASSERT_PRINTF("%+05u", 432);
+ ASSERT_PRINTF("%+04u", 0);
+ ASSERT_PRINTF("%+8.5u", 34);
+ ASSERT_PRINTF("%+8.5u", 0);
+ ASSERT_PRINTF("%+8.3u", 8375);
+ ASSERT_PRINTF("%+3.7u", 3267);
+ ASSERT_PRINTF("%+3.3u", 6983);
+ ASSERT_PRINTF("%+-8.5u", 34);
+ ASSERT_PRINTF("%+-8.5u", 0);
+ ASSERT_PRINTF("%+-8.3u", 8375);
+ ASSERT_PRINTF("%+-3.7u", 3267);
+ ASSERT_PRINTF("%+-3.3u", 6983);
+ ASSERT_PRINTF("%0+8.5u", 34);
+ ASSERT_PRINTF("%0+8.5u", 0);
+ ASSERT_PRINTF("%0+8.3u", 8375);
+ ASSERT_PRINTF("%0+3.7u", 3267);
+ ASSERT_PRINTF("%0+3.3u", 6983);
+ ASSERT_PRINTF("%0+-8.5u", 34);
+ ASSERT_PRINTF("%0+-8.5u", 0);
+ ASSERT_PRINTF("%0+-8.3u", 8375);
+ ASSERT_PRINTF("%0+-3.7u", 3267);
+ ASSERT_PRINTF("%0+-3.3u", 6983);
+ ASSERT_PRINTF("%05c", '\0');
+ ASSERT_PRINTF("%-05c", '\0');
+ ASSERT_PRINTF("%+lu", 22337203685477);
+ ASSERT_PRINTF("%++d", 42);
+ ASSERT_PRINTF("% d", 42);
+ ASSERT_PRINTF("% + d", 42);
+ ASSERT_PRINTF("%--5d", 42);
+ ASSERT_PRINTF("%-+-5d", 42);
+ ASSERT_PRINTF("%##x", 42);
+ ASSERT_PRINTF("%#++#-5x", 42);
+ ASSERT_PRINTF("%.4c", 'a');
+ ASSERT_PRINTF("%.c", 'a');
+ ASSERT_PRINTF("%#c", 'a');
+ ASSERT_PRINTF("%05c", 'a');
+ ASSERT_PRINTF("%0c", 'a');
+ ASSERT_PRINTF("%+c", 'a');
+ ASSERT_PRINTF("%+c", -42);
+ ASSERT_PRINTF("% c", 'a');
+ ASSERT_PRINTF("% c", -42);
+ ASSERT_PRINTF("%hhc", 'a');
+ ASSERT_PRINTF("%hc", 'a');
+ ASSERT_PRINTF("%lc", L'a');
+ ASSERT_PRINTF("%llc", L'a');
+ ASSERT_PRINTF("%Lc", L'a');
+ ASSERT_PRINTF("%-c", 'a');
+ ASSERT_PRINTF("%#s", "hello");
+ ASSERT_PRINTF("%05s", "hello");
+ ASSERT_PRINTF("%0s", "hello");
+ ASSERT_PRINTF("%+s", "hello");
+ ASSERT_PRINTF("% s", "hello");
+ ASSERT_PRINTF("%hhs", "hello");
+ ASSERT_PRINTF("%hs", "hello");
+ ASSERT_PRINTF("%ls", L"hello");
+ ASSERT_PRINTF("%lls", L"hello");
+ ASSERT_PRINTF("%Ls", L"hello");
+ ASSERT_PRINTF("%-s", "hello");
+
+ ASSERT_PRINTF("%1$");
+ ASSERT_PRINTF("%0");
+ ASSERT_PRINTF("% ");
+ ASSERT_PRINTF("%#");
+ ASSERT_PRINTF("%-");
+ ASSERT_PRINTF("%+");
+ ASSERT_PRINTF("%23");
+ ASSERT_PRINTF("%.");
+ ASSERT_PRINTF("%hh");
+ ASSERT_PRINTF("%h");
+ ASSERT_PRINTF("%ll");
+ ASSERT_PRINTF("%l");
+ ASSERT_PRINTF("%L");
+ ASSERT_PRINTF("%p");
+ ASSERT_PRINTF("%d");
+ ASSERT_PRINTF("%u");
+ ASSERT_PRINTF("%x");
+ ASSERT_PRINTF("%X");
+ ASSERT_PRINTF("%f");
+ ASSERT_PRINTF("%c");
+ ASSERT_PRINTF("%o");
+ ASSERT_PRINTF("%1$s", NULL);
+ ASSERT_PRINTF("%0s", NULL);
+ ASSERT_PRINTF("% s", NULL);
+ ASSERT_PRINTF("%#s", NULL);
+ ASSERT_PRINTF("%-s", NULL);
+ ASSERT_PRINTF("%+s", NULL);
+ ASSERT_PRINTF("%23s", NULL);
+ ASSERT_PRINTF("%.s", NULL);
+ ASSERT_PRINTF("%hhs", NULL);
+ ASSERT_PRINTF("%hs", NULL);
+ ASSERT_PRINTF("%lls", NULL);
+ ASSERT_PRINTF("%ls", NULL);
+ ASSERT_PRINTF("%Ls", NULL);
+ ASSERT_PRINTF("%p", NULL);
+ ASSERT_PRINTF("%d", NULL);
+ ASSERT_PRINTF("%b", NULL);
+ ASSERT_PRINTF("%u", NULL);
+ ASSERT_PRINTF("%x", NULL);
+ ASSERT_PRINTF("%X", NULL);
+ ASSERT_PRINTF("%f", NULL);
+ ASSERT_PRINTF("%s", NULL);
+ ASSERT_PRINTF("%c", NULL);
+ ASSERT_PRINTF("%o", NULL);
+}
+
+void test_pft_string(void)
+{
+ ASSERT_PRINTF("hello, %s.", "gavin");
+ ASSERT_PRINTF("%s", "testing testing");
+ ASSERT_PRINTF("%s%s", "hello", "world");
+ ASSERT_PRINTF("..%s stuff %s", "a", "b");
+ ASSERT_PRINTF("this %s is empty", "");
+ ASSERT_PRINTF("this %s is %s", "hello", "");
+ ASSERT_PRINTF("this %s is %s", "", "hello");
+ ASSERT_PRINTF("%s%s%s", "1", "2", "3's a charm");
+
+ ASSERT_PRINTF("%32s", "abc");
+ ASSERT_PRINTF("%16s", "nark nark");
+ ASSERT_PRINTF("%5s", "goes over");
+ ASSERT_PRINTF("%-32s", "abc");
+ ASSERT_PRINTF("%-16s", "nark nark");
+ ASSERT_PRINTF("%-5s", "goes over");
+ ASSERT_PRINTF("%.7s", "hello");
+ ASSERT_PRINTF("%.3s", "hello");
+ ASSERT_PRINTF("%.s", "hello");
+ ASSERT_PRINTF("%.0s", "hello");
+ ASSERT_PRINTF("%.3s%.2s", "holla", "bitch");
+ ASSERT_PRINTF("%.2s%.7s", "hello", "world");
+ ASSERT_PRINTF("%.7s%.2s", "hello", "world");
+ ASSERT_PRINTF("%.5s%7s", "yo", "boi");
+ ASSERT_PRINTF("%7.5s", "yolo");
+ ASSERT_PRINTF("%7.5s", "bombastic");
+ ASSERT_PRINTF("%-7.5s", "yolo");
+ ASSERT_PRINTF("%-7.5s", "tubular");
+ ASSERT_PRINTF("%7.7s%7.7s", "hello", "world");
+ ASSERT_PRINTF("%3.7s%7.7s", "hello", "world");
+ ASSERT_PRINTF("%7.7s%3.7s", "hello", "world");
+ ASSERT_PRINTF("%3.7s%3.7s", "hello", "world");
+ ASSERT_PRINTF("%7.3s%7.7s", "hello", "world");
+ ASSERT_PRINTF("%3.3s%7.7s", "hello", "world");
+ ASSERT_PRINTF("%7.3s%3.7s", "hello", "world");
+ ASSERT_PRINTF("%3.3s%3.7s", "hello", "world");
+ ASSERT_PRINTF("%7.7s%7.3s", "hello", "world");
+ ASSERT_PRINTF("%3.7s%7.3s", "hello", "world");
+ ASSERT_PRINTF("%7.7s%3.3s", "hello", "world");
+ ASSERT_PRINTF("%3.7s%3.3s", "hello", "world");
+ ASSERT_PRINTF("%7.3s%7.3s", "hello", "world");
+ ASSERT_PRINTF("%3.3s%7.3s", "hello", "world");
+ ASSERT_PRINTF("%7.3s%3.3s", "hello", "world");
+ ASSERT_PRINTF("%3.3s%3.3s", "hello", "world");
+ ASSERT_PRINTF("%3s%3s", "hello", "world");
+ ASSERT_PRINTF("%-7s%5s", "hello", "world");
+ ASSERT_PRINTF("%7s%-5s", "hello", "world");
+ ASSERT_PRINTF("hello, %s.", NULL);
+ ASSERT_PRINTF("%s", NULL);
+ ASSERT_PRINTF("%32s", NULL);
+ ASSERT_PRINTF("%2s", NULL);
+ ASSERT_PRINTF("%-32s", NULL);
+ ASSERT_PRINTF("%-16s", NULL);
+ ASSERT_PRINTF("%-3s", NULL);
+ ASSERT_PRINTF("%.9s", "NULL");
+ ASSERT_PRINTF("%.3s", "NULL");
+ ASSERT_PRINTF("%.s", "NULL");
+ ASSERT_PRINTF("%.0s", "NULL");
+
+ static char *s_hidden = "hi low\0don't print me lol\0";
+ ASSERT_PRINTF("%s", s_hidden);
+ ASSERT_PRINTF("%3s", s_hidden);
+ ASSERT_PRINTF("%9s", s_hidden);
+ ASSERT_PRINTF("%.s", s_hidden);
+ ASSERT_PRINTF("%.9s", s_hidden);
+ ASSERT_PRINTF("%.03s", s_hidden);
+ ASSERT_PRINTF("%.09s", s_hidden);
+ ASSERT_PRINTF("%.03s", NULL);
+ ASSERT_PRINTF("%.09s", NULL);
+ ASSERT_PRINTF("%.00s", "\0");
+ ASSERT_PRINTF("%.01s", "\0");
+ ASSERT_PRINTF("%.03s", "\0");
+ ASSERT_PRINTF("%.09s", "\0");
+ ASSERT_PRINTF("%3.s", s_hidden);
+ ASSERT_PRINTF("%10.s", s_hidden);
+ ASSERT_PRINTF("%3.s", NULL);
+ ASSERT_PRINTF("%10.s", NULL);
+ ASSERT_PRINTF("%1.s", "\0");
+ ASSERT_PRINTF("%2.s", "\0");
+ ASSERT_PRINTF("%9.s", "\0");
+ ASSERT_PRINTF("%-3.s", s_hidden);
+ ASSERT_PRINTF("%-8.s", s_hidden);
+ ASSERT_PRINTF("%-3.s", NULL);
+ ASSERT_PRINTF("%-8.s", NULL);
+ ASSERT_PRINTF("%-1.s", "\0");
+ ASSERT_PRINTF("%-2.s", "\0");
+ ASSERT_PRINTF("%-6.s", "\0");
+ ASSERT_PRINTF("%3.1s", s_hidden);
+ ASSERT_PRINTF("%10.1s", s_hidden);
+ ASSERT_PRINTF("%3.1s", NULL);
+ ASSERT_PRINTF("%9.1s", NULL);
+ ASSERT_PRINTF("%-3.1s", s_hidden);
+ ASSERT_PRINTF("%-10.1s", s_hidden);
+ ASSERT_PRINTF("%-3.1s", NULL);
+ ASSERT_PRINTF("%-9.1s", NULL);
+ ASSERT_PRINTF("%-3.1s", "\0");
+ ASSERT_PRINTF("%-6.1s", "\0");
+ ASSERT_PRINTF("%3.6s", s_hidden);
+ ASSERT_PRINTF("%20.6s", s_hidden);
+ ASSERT_PRINTF("%3.6s", NULL);
+ ASSERT_PRINTF("%20.6s", NULL);
+ ASSERT_PRINTF("%3.6s", "\0");
+ ASSERT_PRINTF("%6.6s", "\0");
+ ASSERT_PRINTF("%-3.6s", s_hidden);
+ ASSERT_PRINTF("%-20.6s", s_hidden);
+ ASSERT_PRINTF("%-3.8s", s_hidden);
+ ASSERT_PRINTF("%-10.8s", s_hidden);
+ ASSERT_PRINTF("%-3.8s", NULL);
+ ASSERT_PRINTF("%-10.8s", NULL);
+ ASSERT_PRINTF("%-.00s", s_hidden);
+ ASSERT_PRINTF("%-.09s", s_hidden);
+ ASSERT_PRINTF("%+- 06.06s", s_hidden);
+ ASSERT_PRINTF("% 0+-6.06s", s_hidden);
+ ASSERT_PRINTF("%0 +-6.06s", s_hidden);
+ ASSERT_PRINTF("%+-0 6.06s", s_hidden);
+ ASSERT_PRINTF("%-+ 06.06s", s_hidden);
+ ASSERT_PRINTF("% -+06.06s", s_hidden);
+ ASSERT_PRINTF("%+- 07.06s", s_hidden);
+ ASSERT_PRINTF("% 0+-8.06s", s_hidden);
+ ASSERT_PRINTF("%0 +-9.06s", s_hidden);
+ ASSERT_PRINTF("%+-0 10.06s", s_hidden);
+ ASSERT_PRINTF("%-+ 011.06s", s_hidden);
+ ASSERT_PRINTF("% -+012.06s", s_hidden);
+ ASSERT_PRINTF("%+- 06.04s", s_hidden);
+ ASSERT_PRINTF("% 0+-6.04s", s_hidden);
+ ASSERT_PRINTF("%0 +-6.04s", s_hidden);
+ ASSERT_PRINTF("%+-0 6.04s", s_hidden);
+ ASSERT_PRINTF("%-+ 06.04s", s_hidden);
+ ASSERT_PRINTF("% 0-+6.04s", s_hidden);
+ ASSERT_PRINTF("%+- 06.09s", s_hidden);
+ ASSERT_PRINTF("% 0+-6.09s", s_hidden);
+ ASSERT_PRINTF("%0 +-6.09s", s_hidden);
+ ASSERT_PRINTF("%+-0 6.09s", s_hidden);
+ ASSERT_PRINTF("%-+ 06.09s", s_hidden);
+ ASSERT_PRINTF("% 0-+6.09s", s_hidden);
+ ASSERT_PRINTF("%00s", s_hidden);
+ ASSERT_PRINTF("%000s", s_hidden);
+ ASSERT_PRINTF("%0000s", s_hidden);
+ ASSERT_PRINTF("%-00s", s_hidden);
+ ASSERT_PRINTF("%0-0s", s_hidden);
+ ASSERT_PRINTF("%00-s", s_hidden);
+ ASSERT_PRINTF("%03s", s_hidden);
+ ASSERT_PRINTF("%09s", s_hidden);
+ ASSERT_PRINTF("%+03s", s_hidden);
+ ASSERT_PRINTF("%+09s", s_hidden);
+ ASSERT_PRINTF("%-03s", s_hidden);
+ ASSERT_PRINTF("%-09s", s_hidden);
+ ASSERT_PRINTF("%+ 3s", s_hidden);
+ ASSERT_PRINTF("%+ 6s", s_hidden);
+}
+
+void test_pft_int_i(void)
+{
+ ASSERT_PRINTF("this %i number", 17);
+ ASSERT_PRINTF("this %i number", -267);
+ ASSERT_PRINTF("this %i number", 0);
+ ASSERT_PRINTF("%i", 3);
+ ASSERT_PRINTF("%i", -1);
+ ASSERT_PRINTF("%i", 0);
+ ASSERT_PRINTF("this %d number", 17);
+ ASSERT_PRINTF("this %d number", -267);
+ ASSERT_PRINTF("this %d number", 0);
+ ASSERT_PRINTF("%i", 2147483647);
+ ASSERT_PRINTF("%i", (int)(-2147483678));
+ ASSERT_PRINTF("%+i", 5);
+ ASSERT_PRINTF("%+i", -7);
+ ASSERT_PRINTF("%+i", 2147483647);
+ ASSERT_PRINTF("%7i", 33);
+ ASSERT_PRINTF("%7i", -14);
+ ASSERT_PRINTF("%3i", 0);
+ ASSERT_PRINTF("%5i", 52625);
+ ASSERT_PRINTF("%5i", -2562);
+ ASSERT_PRINTF("%4i", 94827);
+ ASSERT_PRINTF("%4i", -2464);
+ ASSERT_PRINTF("%-7i", 33);
+ ASSERT_PRINTF("%-7i", -14);
+ ASSERT_PRINTF("%-3i", 0);
+ ASSERT_PRINTF("%-5i", 52625);
+ ASSERT_PRINTF("%-5i", -2562);
+ ASSERT_PRINTF("%-4i", 94827);
+ ASSERT_PRINTF("%-4i", -2464);
+ ASSERT_PRINTF("%+5i", 35);
+ ASSERT_PRINTF("%+7i", 0);
+ ASSERT_PRINTF("%+24i", 2147483647);
+ ASSERT_PRINTF("%.5i", 2);
+ ASSERT_PRINTF("%.6i", -3);
+ ASSERT_PRINTF("%.3i", 0);
+ ASSERT_PRINTF("%.4i", 5263);
+ ASSERT_PRINTF("%.4i", -2372);
+ ASSERT_PRINTF("%.3i", 13862);
+ ASSERT_PRINTF("%.3i",-23646);
+ ASSERT_PRINTF("%+.7i", 234);
+ ASSERT_PRINTF("%+.7i", -446);
+ ASSERT_PRINTF("%+.3i", 3723);
+ ASSERT_PRINTF("%05i", 43);
+ ASSERT_PRINTF("%07i", -54);
+ ASSERT_PRINTF("%03i", 0);
+ ASSERT_PRINTF("%03i", 634);
+ ASSERT_PRINTF("%04i", -532);
+ ASSERT_PRINTF("%04i", -4825);
+ ASSERT_PRINTF("%+05i", 432);
+ ASSERT_PRINTF("%+04i", 0);
+ ASSERT_PRINTF("%8.5i", 34);
+ ASSERT_PRINTF("%10.5i", -216);
+ ASSERT_PRINTF("%8.5i", 0);
+ ASSERT_PRINTF("%8.3i", 8375);
+ ASSERT_PRINTF("%8.3i", -8473);
+ ASSERT_PRINTF("%3.7i", 3267);
+ ASSERT_PRINTF("%3.7i", -2375);
+ ASSERT_PRINTF("%3.3i", 6983);
+ ASSERT_PRINTF("%3.3i", -8462);
+ ASSERT_PRINTF("%-8.5i", 34);
+ ASSERT_PRINTF("%-10.5i", -216);
+ ASSERT_PRINTF("%-8.5i", 0);
+ ASSERT_PRINTF("%-8.3i", 8375);
+ ASSERT_PRINTF("%-8.3i", -8473);
+ ASSERT_PRINTF("%-3.7i", 3267);
+ ASSERT_PRINTF("%-3.7i", -2375);
+ ASSERT_PRINTF("%-3.3i", 6983);
+ ASSERT_PRINTF("%-3.3i", -8462);
+ ASSERT_PRINTF("%+8.5i", 34);
+ ASSERT_PRINTF("%+10.5i", -216);
+ ASSERT_PRINTF("%+8.5i", 0);
+ ASSERT_PRINTF("%+8.3i", 8375);
+ ASSERT_PRINTF("%+8.3i", -8473);
+ ASSERT_PRINTF("%+3.7i", 3267);
+ ASSERT_PRINTF("%+3.7i", -2375);
+ ASSERT_PRINTF("%+3.3i", 6983);
+ ASSERT_PRINTF("%+3.3i", -8462);
+ ASSERT_PRINTF("%+-8.5i", 34);
+ ASSERT_PRINTF("%+-10.5i", -216);
+ ASSERT_PRINTF("%+-8.5i", 0);
+ ASSERT_PRINTF("%+-8.3i", 8375);
+ ASSERT_PRINTF("%+-8.3i", -8473);
+ ASSERT_PRINTF("%+-3.7i", 3267);
+ ASSERT_PRINTF("%+-3.7i", -2375);
+ ASSERT_PRINTF("%+-3.3i", 6983);
+ ASSERT_PRINTF("%+-3.3i", -8462);
+ ASSERT_PRINTF("%08.5i", 34);
+ ASSERT_PRINTF("%010.5i", -216);
+ ASSERT_PRINTF("%08.5i", 0);
+ ASSERT_PRINTF("%08.3i", 8375);
+ ASSERT_PRINTF("%08.3i", -8473);
+ ASSERT_PRINTF("%03.7i", 3267);
+ ASSERT_PRINTF("%03.7i", -2375);
+ ASSERT_PRINTF("%03.3i", 6983);
+ ASSERT_PRINTF("%03.3i", -8462);
+ ASSERT_PRINTF("%0-8.5i", 34);
+ ASSERT_PRINTF("%0-10.5i", -216);
+ ASSERT_PRINTF("%0-8.5i", 0);
+ ASSERT_PRINTF("%0-8.3i", 8375);
+ ASSERT_PRINTF("%0-8.3i", -8473);
+ ASSERT_PRINTF("%0-3.7i", 3267);
+ ASSERT_PRINTF("%0-3.7i", -2375);
+ ASSERT_PRINTF("%0-3.3i", 6983);
+ ASSERT_PRINTF("%0-3.3i", -8462);
+ ASSERT_PRINTF("%0+8.5i", 34);
+ ASSERT_PRINTF("%0+10.5i", -216);
+ ASSERT_PRINTF("%0+8.5i", 0);
+ ASSERT_PRINTF("%0+8.3i", 8375);
+ ASSERT_PRINTF("%0+8.3i", -8473);
+ ASSERT_PRINTF("%0+3.7i", 3267);
+ ASSERT_PRINTF("%0+3.7i", -2375);
+ ASSERT_PRINTF("%0+3.3i", 6983);
+ ASSERT_PRINTF("%0+3.3i", -8462);
+ ASSERT_PRINTF("%0+-8.5i", 34);
+ ASSERT_PRINTF("%0+-10.5i", -216);
+ ASSERT_PRINTF("%0+-8.5i", 0);
+ ASSERT_PRINTF("%0+-8.3i", 8375);
+ ASSERT_PRINTF("%0+-8.3i", -8473);
+ ASSERT_PRINTF("%0+-3.7i", 3267);
+ ASSERT_PRINTF("%0+-3.7i", -2375);
+ ASSERT_PRINTF("%0+-3.3i", 6983);
+ ASSERT_PRINTF("%0+-3.3i", -8462);
+ static char ch_pos_1 = 100, ch_neg_1 = -87;
+ static short sh_pos_1 = 3047, sh_neg_1 = -8875;
+ static int i_pos_1 = 878023;
+ static long l_pos_1 = 22337203685477, l_neg_1 = -22337203685477;
+ static long long ll_pos_1 = 22337203685477, ll_neg_1 = -22337203685477;
+ static long lmax = 9223372036854775807;
+ static long lmin = -9223372036854775807;
+ static long long llmax = 9223372036854775807;
+ static long long llmin = -9223372036854775807ll;
+ ASSERT_PRINTF("%hhi", (char)45);
+ ASSERT_PRINTF("%hhi", (char)-45);
+ ASSERT_PRINTF("%hi", (short)385);
+ ASSERT_PRINTF("%hi", (short)-385);
+ ASSERT_PRINTF("%li", (long)32);
+ ASSERT_PRINTF("%li", (long)-32);
+ ASSERT_PRINTF("%lli", (long long)43);
+ ASSERT_PRINTF("%lli", (long long)-43);
+ ASSERT_PRINTF("%hhi", ch_pos_1);
+ ASSERT_PRINTF("%hhi", ch_neg_1);
+ ASSERT_PRINTF("%hi", sh_pos_1);
+ ASSERT_PRINTF("%hi", sh_neg_1);
+ ASSERT_PRINTF("%li", l_pos_1);
+ ASSERT_PRINTF("%li", lmax);
+ ASSERT_PRINTF("%lli", llmax);
+ ASSERT_PRINTF("%li", l_neg_1);
+ ASSERT_PRINTF("%lli", ll_pos_1);
+ ASSERT_PRINTF("%lli", ll_neg_1);
+ ASSERT_PRINTF("%li", 22337203685477);
+ ASSERT_PRINTF("%li", -22337203685477);
+ ASSERT_PRINTF("%lli", 522337203685470ll);
+ ASSERT_PRINTF("%lli", -522337203685470ll);
+ ASSERT_PRINTF("%lli", 9223372036854775807ll);
+ ASSERT_PRINTF("%lli", llmin);
+ ASSERT_PRINTF("%li", 9223372036854775807l);
+ ASSERT_PRINTF("%li", lmin);
+ ASSERT_PRINTF("%hi", (short)32767);
+ ASSERT_PRINTF("%hi", (short)(-32768));
+ ASSERT_PRINTF("%hhi", (char)127);
+ ASSERT_PRINTF("%hhi", (char)(-128));
+ ASSERT_PRINTF("%037li", 22337203685477l);
+ ASSERT_PRINTF("%.37li", -22337203685477l);
+ ASSERT_PRINTF("%37lli", 522337203685470ll);
+ ASSERT_PRINTF("%-37lli", -522337203685470ll);
+ ASSERT_PRINTF("%+li", 22337203685477l);
+ ASSERT_PRINTF("[%i] [%i]", i_pos_1, i_pos_1);
+ ASSERT_PRINTF("[%i] [%li]", i_pos_1, l_pos_1);
+ ASSERT_PRINTF("[%i] [%lli]", i_pos_1, ll_pos_1);
+ ASSERT_PRINTF("[%i] [%hi]", i_pos_1, sh_pos_1);
+ ASSERT_PRINTF("[%i] [%hhi]", i_pos_1, ch_pos_1);
+ ASSERT_PRINTF("%lli%hhi%lli", ll_pos_1, ch_neg_1, ll_neg_1);
+ ASSERT_PRINTF("%hi%li%hhi", sh_pos_1, l_neg_1, ch_neg_1);
+ ASSERT_PRINTF("%li%hhi%hi", l_neg_1, ch_pos_1, sh_pos_1);
+ ASSERT_PRINTF("%i%lli%hhi", i_pos_1, ll_neg_1, ch_pos_1);
+ ASSERT_PRINTF("%lli%i%li", ll_neg_1, i_pos_1, l_pos_1);
+ ASSERT_PRINTF("this % i number", 17);
+ ASSERT_PRINTF("this % i number", -267);
+ ASSERT_PRINTF("this % i number", 0);
+ ASSERT_PRINTF("% i", 3);
+ ASSERT_PRINTF("% i", -1);
+ ASSERT_PRINTF("% i", 0);
+ ASSERT_PRINTF("this % d number", 17);
+ ASSERT_PRINTF("this % d number", -267);
+ ASSERT_PRINTF("this % d number", 0);
+ ASSERT_PRINTF("% i", 2147483647);
+ ASSERT_PRINTF("% i", (int)(-2147483678));
+ ASSERT_PRINTF("% +i", 5);
+ ASSERT_PRINTF("% +i", -7);
+ ASSERT_PRINTF("% +i", 2147483647);
+ ASSERT_PRINTF("% 7i", 33);
+ ASSERT_PRINTF("% 7i", -14);
+ ASSERT_PRINTF("% 3i", 0);
+ ASSERT_PRINTF("% 5i", 52625);
+ ASSERT_PRINTF("% 5i", -2562);
+ ASSERT_PRINTF("% 4i", 94827);
+ ASSERT_PRINTF("% 4i", -2464);
+ ASSERT_PRINTF("% -7i", 33);
+ ASSERT_PRINTF("% -7i", -14);
+ ASSERT_PRINTF("% -3i", 0);
+ ASSERT_PRINTF("% -5i", 52625);
+ ASSERT_PRINTF("% -5i", -2562);
+ ASSERT_PRINTF("% -4i", 94827);
+ ASSERT_PRINTF("% -4i", -2464);
+ ASSERT_PRINTF("% +5i", 35);
+ ASSERT_PRINTF("% +7i", 0);
+ ASSERT_PRINTF("% +24i", 2147483647);
+ ASSERT_PRINTF("% .5i", 2);
+ ASSERT_PRINTF("% .6i", -3);
+ ASSERT_PRINTF("% .3i", 0);
+ ASSERT_PRINTF("% .4i", 5263);
+ ASSERT_PRINTF("% .4i", -2372);
+ ASSERT_PRINTF("% .3i", 13862);
+ ASSERT_PRINTF("% .3i",-23646);
+ ASSERT_PRINTF("% +.7i", 234);
+ ASSERT_PRINTF("% +.7i", -446);
+ ASSERT_PRINTF("% +.3i", 3723);
+ ASSERT_PRINTF("% 05i", 43);
+ ASSERT_PRINTF("% 07i", -54);
+ ASSERT_PRINTF("% 03i", 0);
+ ASSERT_PRINTF("% 03i", 634);
+ ASSERT_PRINTF("% 04i", -532);
+ ASSERT_PRINTF("% 04i", -4825);
+ ASSERT_PRINTF("% +05i", 432);
+ ASSERT_PRINTF("% +04i", 0);
+ ASSERT_PRINTF("% 8.5i", 34);
+ ASSERT_PRINTF("% 10.5i", -216);
+ ASSERT_PRINTF("% 8.5i", 0);
+ ASSERT_PRINTF("% 8.3i", 8375);
+ ASSERT_PRINTF("% 8.3i", -8473);
+ ASSERT_PRINTF("% 3.7i", 3267);
+ ASSERT_PRINTF("% 3.7i", -2375);
+ ASSERT_PRINTF("% 3.3i", 6983);
+ ASSERT_PRINTF("% 3.3i", -8462);
+ ASSERT_PRINTF("% -8.5i", 34);
+ ASSERT_PRINTF("% -10.5i", -216);
+ ASSERT_PRINTF("% -8.5i", 0);
+ ASSERT_PRINTF("% -8.3i", 8375);
+ ASSERT_PRINTF("% -8.3i", -8473);
+ ASSERT_PRINTF("% -3.7i", 3267);
+ ASSERT_PRINTF("% -3.7i", -2375);
+ ASSERT_PRINTF("% -3.3i", 6983);
+ ASSERT_PRINTF("% -3.3i", -8462);
+ ASSERT_PRINTF("% +8.5i", 34);
+ ASSERT_PRINTF("% +10.5i", -216);
+ ASSERT_PRINTF("% +8.5i", 0);
+ ASSERT_PRINTF("% +8.3i", 8375);
+ ASSERT_PRINTF("% +8.3i", -8473);
+ ASSERT_PRINTF("% +3.7i", 3267);
+ ASSERT_PRINTF("% +3.7i", -2375);
+ ASSERT_PRINTF("% +3.3i", 6983);
+ ASSERT_PRINTF("% +3.3i", -8462);
+ ASSERT_PRINTF("% +-8.5i", 34);
+ ASSERT_PRINTF("% +-10.5i", -216);
+ ASSERT_PRINTF("% +-8.5i", 0);
+ ASSERT_PRINTF("% +-8.3i", 8375);
+ ASSERT_PRINTF("% +-8.3i", -8473);
+ ASSERT_PRINTF("% +-3.7i", 3267);
+ ASSERT_PRINTF("% +-3.7i", -2375);
+ ASSERT_PRINTF("% +-3.3i", 6983);
+ ASSERT_PRINTF("% +-3.3i", -8462);
+ ASSERT_PRINTF("% 08.5i", 34);
+ ASSERT_PRINTF("% 010.5i", -216);
+ ASSERT_PRINTF("% 08.5i", 0);
+ ASSERT_PRINTF("% 08.3i", 8375);
+ ASSERT_PRINTF("% 08.3i", -8473);
+ ASSERT_PRINTF("% 03.7i", 3267);
+ ASSERT_PRINTF("% 03.7i", -2375);
+ ASSERT_PRINTF("% 03.3i", 6983);
+ ASSERT_PRINTF("% 03.3i", -8462);
+ ASSERT_PRINTF("% 0-8.5i", 34);
+ ASSERT_PRINTF("% 0-10.5i", -216);
+ ASSERT_PRINTF("% 0-8.5i", 0);
+ ASSERT_PRINTF("% 0-8.3i", 8375);
+ ASSERT_PRINTF("% 0-8.3i", -8473);
+ ASSERT_PRINTF("% 0-3.7i", 3267);
+ ASSERT_PRINTF("% 0-3.7i", -2375);
+ ASSERT_PRINTF("% 0-3.3i", 6983);
+ ASSERT_PRINTF("% 0-3.3i", -8462);
+ ASSERT_PRINTF("% 0+8.5i", 34);
+ ASSERT_PRINTF("% 0+10.5i", -216);
+ ASSERT_PRINTF("% 0+8.5i", 0);
+ ASSERT_PRINTF("% 0+8.3i", 8375);
+ ASSERT_PRINTF("% 0+8.3i", -8473);
+ ASSERT_PRINTF("% 0+3.7i", 3267);
+ ASSERT_PRINTF("% 0+3.7i", -2375);
+ ASSERT_PRINTF("% 0+3.3i", 6983);
+ ASSERT_PRINTF("% 0+3.3i", -8462);
+ ASSERT_PRINTF("% 0+-8.5i", 34);
+ ASSERT_PRINTF("% 0+-10.5i", -216);
+ ASSERT_PRINTF("% 0+-8.5i", 0);
+ ASSERT_PRINTF("% 0+-8.3i", 8375);
+ ASSERT_PRINTF("% 0+-8.3i", -8473);
+ ASSERT_PRINTF("% 0+-3.7i", 3267);
+ ASSERT_PRINTF("% 0+-3.7i", -2375);
+ ASSERT_PRINTF("% 0+-3.3i", 6983);
+ ASSERT_PRINTF("% 0+-3.3i", -8462);
+ ASSERT_PRINTF("% hhi", (char)45);
+ ASSERT_PRINTF("% hhi", (char)-45);
+ ASSERT_PRINTF("% hi", (short)385);
+ ASSERT_PRINTF("% hi", (short)-385);
+ ASSERT_PRINTF("% li", (long)32);
+ ASSERT_PRINTF("% li", (long)-32);
+ ASSERT_PRINTF("% lli", (long long)43);
+ ASSERT_PRINTF("% lli", (long long)-43);
+ ASSERT_PRINTF("% hhi", ch_pos_1);
+ ASSERT_PRINTF("% hhi", ch_neg_1);
+ ASSERT_PRINTF("% hi", sh_pos_1);
+ ASSERT_PRINTF("% hi", sh_neg_1);
+ ASSERT_PRINTF("% li", l_pos_1);
+ ASSERT_PRINTF("% li", l_neg_1);
+ ASSERT_PRINTF("% lli", ll_pos_1);
+ ASSERT_PRINTF("% lli", ll_neg_1);
+ ASSERT_PRINTF("% li", 22337203685477l);
+ ASSERT_PRINTF("% li", -22337203685477l);
+ ASSERT_PRINTF("% lli", 522337203685470ll);
+ ASSERT_PRINTF("% lli", -522337203685470ll);
+ ASSERT_PRINTF("% lli", 9223372036854775807ll);
+ ASSERT_PRINTF("% lli", llmin);
+ ASSERT_PRINTF("% li", 9223372036854775807l);
+ ASSERT_PRINTF("% li", lmin);
+ ASSERT_PRINTF("% hi", (short)32767);
+ ASSERT_PRINTF("% hi", (short)(-32768));
+ ASSERT_PRINTF("% hhi", (char)(127));
+ ASSERT_PRINTF("% hhi", (char)(-128));
+ ASSERT_PRINTF("%.0i", 0);
+ ASSERT_PRINTF("%.i", 0);
+ ASSERT_PRINTF("%5.0i", 0);
+ ASSERT_PRINTF("%5.i", 0);
+ ASSERT_PRINTF("%-5.0i", 0);
+ ASSERT_PRINTF("%-5.i", 0);
+ ASSERT_PRINTF("%+.0i", 0);
+ ASSERT_PRINTF("%+.i", 0);
+ ASSERT_PRINTF("%+5.0i", 0);
+ ASSERT_PRINTF("%+5.i", 0);
+ ASSERT_PRINTF("%+-5.0i", 0);
+ ASSERT_PRINTF("%+-5.i", 0);
+ ASSERT_PRINTF("%hhi", -129);
+ ASSERT_PRINTF("%hhi", 128);
+ ASSERT_PRINTF("%hi", 32768);
+ ASSERT_PRINTF("%hi", -32769);
+}
+
+void test_pft_int_d(void)
+{
+ ASSERT_PRINTF("this %d number", 17);
+ ASSERT_PRINTF("this %d number", -267);
+ ASSERT_PRINTF("this %d number", 0);
+ ASSERT_PRINTF("%d", 3);
+ ASSERT_PRINTF("%d", -1);
+ ASSERT_PRINTF("%d", 0);
+ ASSERT_PRINTF("%d", 2147483647);
+ ASSERT_PRINTF("%d", (int)(-2147483678));
+ ASSERT_PRINTF("%+d", 5);
+ ASSERT_PRINTF("%+d", -7);
+ ASSERT_PRINTF("%+d", 2147483647);
+ ASSERT_PRINTF("%7d", 33);
+ ASSERT_PRINTF("%7d", -14);
+ ASSERT_PRINTF("%3d", 0);
+ ASSERT_PRINTF("%5d", 52625);
+ ASSERT_PRINTF("%5d", -2562);
+ ASSERT_PRINTF("%4d", 94827);
+ ASSERT_PRINTF("%4d", -2464);
+ ASSERT_PRINTF("%-7d", 33);
+ ASSERT_PRINTF("%-7d", -14);
+ ASSERT_PRINTF("%-3d", 0);
+ ASSERT_PRINTF("%-5d", 52625);
+ ASSERT_PRINTF("%-5d", -2562);
+ ASSERT_PRINTF("%-4d", 94827);
+ ASSERT_PRINTF("%-4d", -2464);
+ ASSERT_PRINTF("%+5d", 35);
+ ASSERT_PRINTF("%+7d", 0);
+ ASSERT_PRINTF("%+24d", 2147483647);
+ ASSERT_PRINTF("%.5d", 2);
+ ASSERT_PRINTF("%.6d", -3);
+ ASSERT_PRINTF("%.3d", 0);
+ ASSERT_PRINTF("%.4d", 5263);
+ ASSERT_PRINTF("%.4d", -2372);
+ ASSERT_PRINTF("%.3d", 13862);
+ ASSERT_PRINTF("%.3d",-23646);
+ ASSERT_PRINTF("%+.7d", 234);
+ ASSERT_PRINTF("%+.7d", -446);
+ ASSERT_PRINTF("%+.3d", 3723);
+ ASSERT_PRINTF("%05d", 43);
+ ASSERT_PRINTF("%07d", -54);
+ ASSERT_PRINTF("%03d", 0);
+ ASSERT_PRINTF("%03d", 634);
+ ASSERT_PRINTF("%04d", -532);
+ ASSERT_PRINTF("%04d", -4825);
+ ASSERT_PRINTF("%+05d", 432);
+ ASSERT_PRINTF("%+04d", 0);
+ ASSERT_PRINTF("%8.5d", 34);
+ ASSERT_PRINTF("%10.5d", -216);
+ ASSERT_PRINTF("%8.5d", 0);
+ ASSERT_PRINTF("%8.3d", 8375);
+ ASSERT_PRINTF("%8.3d", -8473);
+ ASSERT_PRINTF("%3.7d", 3267);
+ ASSERT_PRINTF("%3.7d", -2375);
+ ASSERT_PRINTF("%3.3d", 6983);
+ ASSERT_PRINTF("%3.3d", -8462);
+ ASSERT_PRINTF("%-8.5d", 34);
+ ASSERT_PRINTF("%-10.5d", -216);
+ ASSERT_PRINTF("%-8.5d", 0);
+ ASSERT_PRINTF("%-8.3d", 8375);
+ ASSERT_PRINTF("%-8.3d", -8473);
+ ASSERT_PRINTF("%-3.7d", 3267);
+ ASSERT_PRINTF("%-3.7d", -2375);
+ ASSERT_PRINTF("%-3.3d", 6983);
+ ASSERT_PRINTF("%-3.3d", -8462);
+ ASSERT_PRINTF("%+8.5d", 34);
+ ASSERT_PRINTF("%+10.5d", -216);
+ ASSERT_PRINTF("%+8.5d", 0);
+ ASSERT_PRINTF("%+8.3d", 8375);
+ ASSERT_PRINTF("%+8.3d", -8473);
+ ASSERT_PRINTF("%+3.7d", 3267);
+ ASSERT_PRINTF("%+3.7d", -2375);
+ ASSERT_PRINTF("%+3.3d", 6983);
+ ASSERT_PRINTF("%+3.3d", -8462);
+
+ static char ch_pos_1 = 100, ch_neg_1 = -87;
+ static short sh_pos_1 = 3047, sh_neg_1 = -8875;
+ static int i_pos_1 = 878023;
+ static long l_pos_1 = 22337203685477, l_neg_1 = -22337203685477;
+ static long long ll_pos_1 = 22337203685477, ll_neg_1 = -22337203685477;
+ static long lmax = 9223372036854775807;
+ static long lmin = -9223372036854775807;
+ static long long llmax = 9223372036854775807;
+ static long long llmin = -9223372036854775807ll;
+
+ ASSERT_PRINTF("%+-8.5d", 34);
+ ASSERT_PRINTF("%+-10.5d", -216);
+ ASSERT_PRINTF("%+-8.5d", 0);
+ ASSERT_PRINTF("%+-8.3d", 8375);
+ ASSERT_PRINTF("%+-8.3d", -8473);
+ ASSERT_PRINTF("%+-3.7d", 3267);
+ ASSERT_PRINTF("%+-3.7d", -2375);
+ ASSERT_PRINTF("%+-3.3d", 6983);
+ ASSERT_PRINTF("%+-3.3d", -8462);
+ ASSERT_PRINTF("%08.5d", 34);
+ ASSERT_PRINTF("%010.5d", -216);
+ ASSERT_PRINTF("%08.5d", 0);
+ ASSERT_PRINTF("%08.3d", 8375);
+ ASSERT_PRINTF("%08.3d", -8473);
+ ASSERT_PRINTF("%03.7d", 3267);
+ ASSERT_PRINTF("%03.7d", -2375);
+ ASSERT_PRINTF("%03.3d", 6983);
+ ASSERT_PRINTF("%03.3d", -8462);
+ ASSERT_PRINTF("%0-8.5d", 34);
+ ASSERT_PRINTF("%0-10.5d", -216);
+ ASSERT_PRINTF("%0-8.5d", 0);
+ ASSERT_PRINTF("%0-8.3d", 8375);
+ ASSERT_PRINTF("%0-8.3d", -8473);
+ ASSERT_PRINTF("%0-3.7d", 3267);
+ ASSERT_PRINTF("%0-3.7d", -2375);
+ ASSERT_PRINTF("%0-3.3d", 6983);
+ ASSERT_PRINTF("%0-3.3d", -8462);
+ ASSERT_PRINTF("%0+8.5d", 34);
+ ASSERT_PRINTF("%0+10.5d", -216);
+ ASSERT_PRINTF("%0+8.5d", 0);
+ ASSERT_PRINTF("%0+8.3d", 8375);
+ ASSERT_PRINTF("%0+8.3d", -8473);
+ ASSERT_PRINTF("%0+3.7d", 3267);
+ ASSERT_PRINTF("%0+3.7d", -2375);
+ ASSERT_PRINTF("%0+3.3d", 6983);
+ ASSERT_PRINTF("%0+3.3d", -8462);
+ ASSERT_PRINTF("%0+-8.5d", 34);
+ ASSERT_PRINTF("%0+-10.5d", -216);
+ ASSERT_PRINTF("%0+-8.5d", 0);
+ ASSERT_PRINTF("%0+-8.3d", 8375);
+ ASSERT_PRINTF("%0+-8.3d", -8473);
+ ASSERT_PRINTF("%0+-3.7d", 3267);
+ ASSERT_PRINTF("%0+-3.7d", -2375);
+ ASSERT_PRINTF("%0+-3.3d", 6983);
+ ASSERT_PRINTF("%0+-3.3d", -8462);
+ ASSERT_PRINTF("%hhd", (char)45);
+ ASSERT_PRINTF("%hhd", (char)-45);
+ ASSERT_PRINTF("%hd", (short)385);
+ ASSERT_PRINTF("%hd", (short)-385);
+ ASSERT_PRINTF("%ld", (long)32);
+ ASSERT_PRINTF("%ld", (long)-32);
+ ASSERT_PRINTF("%lld", (long long)43);
+ ASSERT_PRINTF("%lld", (long long)-43);
+ ASSERT_PRINTF("%hhd", ch_pos_1);
+ ASSERT_PRINTF("%hhd", ch_neg_1);
+ ASSERT_PRINTF("%hd", sh_pos_1);
+ ASSERT_PRINTF("%hd", sh_neg_1);
+ ASSERT_PRINTF("%ld", l_pos_1);
+ ASSERT_PRINTF("%ld", lmax);
+ ASSERT_PRINTF("%lld", llmax);
+ ASSERT_PRINTF("%ld", l_neg_1);
+ ASSERT_PRINTF("%lld", ll_pos_1);
+ ASSERT_PRINTF("%lld", ll_neg_1);
+ ASSERT_PRINTF("%ld", 22337203685477);
+ ASSERT_PRINTF("%ld", -22337203685477);
+ ASSERT_PRINTF("%lld", 522337203685470ll);
+ ASSERT_PRINTF("%lld", -522337203685470ll);
+ ASSERT_PRINTF("%lld", 9223372036854775807ll);
+ ASSERT_PRINTF("%lld", llmin);
+ ASSERT_PRINTF("%ld", 9223372036854775807l);
+ ASSERT_PRINTF("%ld", lmin);
+ ASSERT_PRINTF("%hd", (short)32767);
+ ASSERT_PRINTF("%hd", (short)(-32768));
+ ASSERT_PRINTF("%hhd", (char)127);
+ ASSERT_PRINTF("%hhd", (char)(-128));
+ ASSERT_PRINTF("%037ld", 22337203685477l);
+ ASSERT_PRINTF("%.37ld", -22337203685477l);
+ ASSERT_PRINTF("%37lld", 522337203685470ll);
+ ASSERT_PRINTF("%-37lld", -522337203685470ll);
+ ASSERT_PRINTF("%+ld", 22337203685477l);
+
+ ASSERT_PRINTF("[%d] [%d]", i_pos_1, i_pos_1);
+ ASSERT_PRINTF("[%d] [%ld]", i_pos_1, l_pos_1);
+ ASSERT_PRINTF("[%d] [%lld]", i_pos_1, ll_pos_1);
+ ASSERT_PRINTF("[%d] [%hd]", i_pos_1, sh_pos_1);
+ ASSERT_PRINTF("[%d] [%hhd]", i_pos_1, ch_pos_1);
+ ASSERT_PRINTF("%lld%hhd%lld", ll_pos_1, ch_neg_1, ll_neg_1);
+ ASSERT_PRINTF("%hd%ld%hhd", sh_pos_1, l_neg_1, ch_neg_1);
+ ASSERT_PRINTF("%ld%hhd%hd", l_neg_1, ch_pos_1, sh_pos_1);
+ ASSERT_PRINTF("%d%lld%hhd", i_pos_1, ll_neg_1, ch_pos_1);
+ ASSERT_PRINTF("%lli%d%ld", ll_neg_1, i_pos_1, l_pos_1);
+ ASSERT_PRINTF("this % d number", 17);
+ ASSERT_PRINTF("this % d number", -267);
+ ASSERT_PRINTF("this % d number", 0);
+ ASSERT_PRINTF("% d", 3);
+ ASSERT_PRINTF("% d", -1);
+ ASSERT_PRINTF("% d", 0);
+ ASSERT_PRINTF("this % d number", 17);
+ ASSERT_PRINTF("this % d number", -267);
+ ASSERT_PRINTF("this % d number", 0);
+ ASSERT_PRINTF("% d", 2147483647);
+ ASSERT_PRINTF("% d", (int)(-2147483678));
+ ASSERT_PRINTF("% +d", 5);
+ ASSERT_PRINTF("% +d", -7);
+ ASSERT_PRINTF("% +d", 2147483647);
+ ASSERT_PRINTF("% 7d", 33);
+ ASSERT_PRINTF("% 7d", -14);
+ ASSERT_PRINTF("% 3d", 0);
+ ASSERT_PRINTF("% 5d", 52625);
+ ASSERT_PRINTF("% 5d", -2562);
+ ASSERT_PRINTF("% 4d", 94827);
+ ASSERT_PRINTF("% 4d", -2464);
+ ASSERT_PRINTF("% -7d", 33);
+ ASSERT_PRINTF("% -7d", -14);
+ ASSERT_PRINTF("% -3d", 0);
+ ASSERT_PRINTF("% -5d", 52625);
+ ASSERT_PRINTF("% -5d", -2562);
+ ASSERT_PRINTF("% -4d", 94827);
+ ASSERT_PRINTF("% -4d", -2464);
+ ASSERT_PRINTF("% +5d", 35);
+ ASSERT_PRINTF("% +7d", 0);
+ ASSERT_PRINTF("% +24d", 2147483647);
+ ASSERT_PRINTF("% .5d", 2);
+ ASSERT_PRINTF("% .6d", -3);
+ ASSERT_PRINTF("% .3d", 0);
+ ASSERT_PRINTF("% .4d", 5263);
+ ASSERT_PRINTF("% .4d", -2372);
+ ASSERT_PRINTF("% .3d", 13862);
+ ASSERT_PRINTF("% .3d",-23646);
+ ASSERT_PRINTF("% +.7d", 234);
+ ASSERT_PRINTF("% +.7d", -446);
+ ASSERT_PRINTF("% +.3d", 3723);
+ ASSERT_PRINTF("% 05d", 43);
+ ASSERT_PRINTF("% 07d", -54);
+ ASSERT_PRINTF("% 03d", 0);
+ ASSERT_PRINTF("% 03d", 634);
+ ASSERT_PRINTF("% 04d", -532);
+ ASSERT_PRINTF("% 04d", -4825);
+ ASSERT_PRINTF("% +05d", 432);
+ ASSERT_PRINTF("% +04d", 0);
+ ASSERT_PRINTF("% 8.5d", 34);
+ ASSERT_PRINTF("% 10.5d", -216);
+ ASSERT_PRINTF("% 8.5d", 0);
+ ASSERT_PRINTF("% 8.3d", 8375);
+ ASSERT_PRINTF("% 8.3d", -8473);
+ ASSERT_PRINTF("% 3.7d", 3267);
+ ASSERT_PRINTF("% 3.7d", -2375);
+ ASSERT_PRINTF("% 3.3d", 6983);
+ ASSERT_PRINTF("% 3.3d", -8462);
+ ASSERT_PRINTF("% -8.5d", 34);
+ ASSERT_PRINTF("% -10.5d", -216);
+ ASSERT_PRINTF("% -8.5d", 0);
+ ASSERT_PRINTF("% -8.3d", 8375);
+ ASSERT_PRINTF("% -8.3d", -8473);
+ ASSERT_PRINTF("% -3.7d", 3267);
+ ASSERT_PRINTF("% -3.7d", -2375);
+ ASSERT_PRINTF("% -3.3d", 6983);
+ ASSERT_PRINTF("% -3.3d", -8462);
+
+ ASSERT_PRINTF("% +8.5d", 34);
+ ASSERT_PRINTF("% +10.5d", -216);
+ ASSERT_PRINTF("% +8.5d", 0);
+ ASSERT_PRINTF("% +8.3d", 8375);
+ ASSERT_PRINTF("% +8.3d", -8473);
+ ASSERT_PRINTF("% +3.7d", 3267);
+ ASSERT_PRINTF("% +3.7d", -2375);
+ ASSERT_PRINTF("% +3.3d", 6983);
+ ASSERT_PRINTF("% +3.3d", -8462);
+ ASSERT_PRINTF("% +-8.5d", 34);
+ ASSERT_PRINTF("% +-10.5d", -216);
+ ASSERT_PRINTF("% +-8.5d", 0);
+ ASSERT_PRINTF("% +-8.3d", 8375);
+ ASSERT_PRINTF("% +-8.3d", -8473);
+ ASSERT_PRINTF("% +-3.7d", 3267);
+ ASSERT_PRINTF("% +-3.7d", -2375);
+ ASSERT_PRINTF("% +-3.3d", 6983);
+ ASSERT_PRINTF("% +-3.3d", -8462);
+ ASSERT_PRINTF("% 08.5d", 34);
+ ASSERT_PRINTF("% 010.5d", -216);
+ ASSERT_PRINTF("% 08.5d", 0);
+ ASSERT_PRINTF("% 08.3d", 8375);
+ ASSERT_PRINTF("% 08.3d", -8473);
+ ASSERT_PRINTF("% 03.7d", 3267);
+ ASSERT_PRINTF("% 03.7d", -2375);
+ ASSERT_PRINTF("% 03.3d", 6983);
+ ASSERT_PRINTF("% 03.3d", -8462);
+ ASSERT_PRINTF("% 0-8.5d", 34);
+ ASSERT_PRINTF("% 0-10.5d", -216);
+ ASSERT_PRINTF("% 0-8.5d", 0);
+ ASSERT_PRINTF("% 0-8.3d", 8375);
+ ASSERT_PRINTF("% 0-8.3d", -8473);
+ ASSERT_PRINTF("% 0-3.7d", 3267);
+ ASSERT_PRINTF("% 0-3.7d", -2375);
+ ASSERT_PRINTF("% 0-3.3d", 6983);
+ ASSERT_PRINTF("% 0-3.3d", -8462);
+ ASSERT_PRINTF("% 0+8.5d", 34);
+ ASSERT_PRINTF("% 0+10.5d", -216);
+ ASSERT_PRINTF("% 0+8.5d", 0);
+ ASSERT_PRINTF("% 0+8.3d", 8375);
+ ASSERT_PRINTF("% 0+8.3d", -8473);
+ ASSERT_PRINTF("% 0+3.7d", 3267);
+ ASSERT_PRINTF("% 0+3.7d", -2375);
+ ASSERT_PRINTF("% 0+3.3d", 6983);
+ ASSERT_PRINTF("% 0+3.3d", -8462);
+ ASSERT_PRINTF("% 0+-8.5d", 34);
+ ASSERT_PRINTF("% 0+-10.5d", -216);
+ ASSERT_PRINTF("% 0+-8.5d", 0);
+ ASSERT_PRINTF("% 0+-8.3d", 8375);
+ ASSERT_PRINTF("% 0+-8.3d", -8473);
+ ASSERT_PRINTF("% 0+-3.7d", 3267);
+ ASSERT_PRINTF("% 0+-3.7d", -2375);
+ ASSERT_PRINTF("% 0+-3.3d", 6983);
+ ASSERT_PRINTF("% 0+-3.3d", -8462);
+ ASSERT_PRINTF("% hhd", (char)45);
+ ASSERT_PRINTF("% hhd", (char)-45);
+ ASSERT_PRINTF("% hd", (short)385);
+ ASSERT_PRINTF("% hd", (short)-385);
+ ASSERT_PRINTF("% ld", (long)32);
+ ASSERT_PRINTF("% ld", (long)-32);
+ ASSERT_PRINTF("% lld", (long long)43);
+ ASSERT_PRINTF("% lld", (long long)-43);
+ ASSERT_PRINTF("% hhd", ch_pos_1);
+ ASSERT_PRINTF("% hhd", ch_neg_1);
+ ASSERT_PRINTF("% hd", sh_pos_1);
+ ASSERT_PRINTF("% hd", sh_neg_1);
+ ASSERT_PRINTF("% ld", l_pos_1);
+ ASSERT_PRINTF("% ld", l_neg_1);
+ ASSERT_PRINTF("% lld", ll_pos_1);
+ ASSERT_PRINTF("% lld", ll_neg_1);
+ ASSERT_PRINTF("% ld", 22337203685477l);
+ ASSERT_PRINTF("% ld", -22337203685477l);
+ ASSERT_PRINTF("% lld", 522337203685470ll);
+ ASSERT_PRINTF("% lld", -522337203685470ll);
+ ASSERT_PRINTF("% lld", 9223372036854775807ll);
+ ASSERT_PRINTF("% lld", llmin);
+ ASSERT_PRINTF("% ld", 9223372036854775807l);
+ ASSERT_PRINTF("% ld", lmin);
+ ASSERT_PRINTF("% hd", (short)32767);
+ ASSERT_PRINTF("% hd", (short)(-32768));
+
+
+ ASSERT_PRINTF("% hhd", (char)(127));
+ ASSERT_PRINTF("% hhd", (char)(-128));
+ ASSERT_PRINTF("%.0d", 0);
+ ASSERT_PRINTF("%.d", 0);
+ ASSERT_PRINTF("%5.0d", 0);
+ ASSERT_PRINTF("%5.d", 0);
+ ASSERT_PRINTF("%-5.0d", 0);
+ ASSERT_PRINTF("%-5.d", 0);
+ ASSERT_PRINTF("%+.0d", 0);
+ ASSERT_PRINTF("%+.d", 0);
+ ASSERT_PRINTF("%+5.0d", 0);
+ ASSERT_PRINTF("%+5.d", 0);
+ ASSERT_PRINTF("%+-5.0d", 0);
+ ASSERT_PRINTF("%+-5.d", 0);
+}
+
+void test_ptf_uint(void)
+{
+ ASSERT_PRINTF("this %u number", 17);
+ ASSERT_PRINTF("this %u number", 0);
+ ASSERT_PRINTF("%u", 3);
+ ASSERT_PRINTF("%u", 4294967295u);
+ ASSERT_PRINTF("%7u", 33);
+ ASSERT_PRINTF("%3u", 0);
+ ASSERT_PRINTF("%5u", 52625);
+ ASSERT_PRINTF("%4u", 94827);
+ ASSERT_PRINTF("%-7u", 33);
+ ASSERT_PRINTF("%-3u", 0);
+ ASSERT_PRINTF("%-5u", 52625);
+ ASSERT_PRINTF("%-4u", 94827);
+ ASSERT_PRINTF("%.5u", 2);
+ ASSERT_PRINTF("%.3u", 0);
+ ASSERT_PRINTF("%.4u", 5263);
+ ASSERT_PRINTF("%.3u", 13862);
+ ASSERT_PRINTF("%05u", 43);
+ ASSERT_PRINTF("%03u", 0);
+ ASSERT_PRINTF("%03u", 634);
+ ASSERT_PRINTF("%8.5u", 34);
+ ASSERT_PRINTF("%8.5u", 0);
+ ASSERT_PRINTF("%8.3u", 8375);
+ ASSERT_PRINTF("%3.7u", 3267);
+ ASSERT_PRINTF("%3.3u", 6983);
+ ASSERT_PRINTF("%-8.5u", 34);
+ ASSERT_PRINTF("%-8.5u", 0);<