diff options
Diffstat (limited to 'pft_tests.c')
| -rw-r--r-- | pft_tests.c | 1730 |
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);< |
