- TESTCASE( testprintf( buffer, 100, "%.0#o", 0 ) == 5 );
- //TESTCASE( strcmp( buffer, "%.0#o" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%+d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%+d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, "+2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%+d", 0 ) == 2 );
- //TESTCASE( strcmp( buffer, "+0" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%+u", UINT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "4294967295" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%+u", -1u ) == 10 );
- //TESTCASE( strcmp( buffer, "4294967295" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "% d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "% d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, " 2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "% d", 0 ) == 2 );
- //TESTCASE( strcmp( buffer, " 0" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "% u", UINT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "4294967295" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "% u", -1u ) == 10 );
- //TESTCASE( strcmp( buffer, "4294967295" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%9d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%9d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%10d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%10d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%11d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%11d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, " 2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%12d", INT_MIN ) == 12 );
- //TESTCASE( strcmp( buffer, " -2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%12d", INT_MAX ) == 12 );
- //TESTCASE( strcmp( buffer, " 2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-9d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-9d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-10d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-10d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-11d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-11d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, "2147483647 " ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-12d", INT_MIN ) == 12 );
- //TESTCASE( strcmp( buffer, "-2147483648 " ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-12d", INT_MAX ) == 12 );
- //TESTCASE( strcmp( buffer, "2147483647 " ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%09d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%09d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%010d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%010d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%011d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%011d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, "02147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%012d", INT_MIN ) == 12 );
- //TESTCASE( strcmp( buffer, "-02147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%012d", INT_MAX ) == 12 );
- //TESTCASE( strcmp( buffer, "002147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-09d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-09d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-010d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-010d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-011d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-011d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, "2147483647 " ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-012d", INT_MIN ) == 12 );
- //TESTCASE( strcmp( buffer, "-2147483648 " ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%-012d", INT_MAX ) == 12 );
- //TESTCASE( strcmp( buffer, "2147483647 " ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%030.20d", INT_MAX ) == 30 );
- //TESTCASE( strcmp( buffer, " 00000000002147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%.6x", UINT_MAX ) == 8 );
- //TESTCASE( strcmp( buffer, "ffffffff" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#6.3x", UINT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "0xffffffff" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#3.6x", UINT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "0xffffffff" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%.6d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%6.3d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%3.6d", INT_MIN ) == 11 );
- //TESTCASE( strcmp( buffer, "-2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#0.6x", UINT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "0xffffffff" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#06.3x", UINT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "0xffffffff" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#03.6x", UINT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "0xffffffff" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#0.6d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#06.3d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#03.6d", INT_MAX ) == 10 );
- //TESTCASE( strcmp( buffer, "2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#+.6d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, "+2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#+6.3d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, "+2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%#+3.6d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, "+2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%+0.6d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, "+2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%+06.3d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, "+2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%+03.6d", INT_MAX ) == 11 );
- //TESTCASE( strcmp( buffer, "+2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "- %d", INT_MAX ) == 12 );
- //TESTCASE( strcmp( buffer, "- 2147483647" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "- %d %% %d", INT_MAX, INT_MIN ) == 26 );
- //TESTCASE( strcmp( buffer, "- 2147483647 % -2147483648" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%c", 'x' ) == 1 );
- //TESTCASE( strcmp( buffer, "x" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%s", "abcdef" ) == 6 );
- //TESTCASE( strcmp( buffer, "abcdef" ) == 0 );
- TESTCASE( testprintf( buffer, 100, "%p", (void *)0xdeadbeef ) == 10 );
- //TESTCASE( strcmp( buffer, "0xdeadbeef" ) == 0 ); /* FIXME */
+ PRINTF_TEST( 5, "%.0#o", "%.0#o", 0 );
+#endif
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%+d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 1, "+" INT_MAX_DEZ_STR, "%+d", INT_MAX );
+ PRINTF_TEST( 2, "+0", "%+d", 0 );
+ PRINTF_TEST( UINT_DIG, UINT_MAX_DEZ_STR, "%+u", UINT_MAX );
+ PRINTF_TEST( UINT_DIG, UINT_MAX_DEZ_STR, "%+u", -1u );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "% d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 1, " " INT_MAX_DEZ_STR, "% d", INT_MAX );
+ PRINTF_TEST( 2, " 0", "% d", 0 );
+ PRINTF_TEST( UINT_DIG, UINT_MAX_DEZ_STR, "% u", UINT_MAX );
+ PRINTF_TEST( UINT_DIG, UINT_MAX_DEZ_STR, "% u", -1u );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%" INT_DIG_LESS1 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%" INT_DIG_LESS1 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%" sym2s(INT_DIG) "d", INT_MIN );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%" sym2s(INT_DIG) "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%" INT_DIG_PLUS1 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 1, " " INT_MAX_DEZ_STR, "%" INT_DIG_PLUS1 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 2, " -" INT_MIN_DEZ_STR, "%" INT_DIG_PLUS2 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 2, " " INT_MAX_DEZ_STR, "%" INT_DIG_PLUS2 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%-" INT_DIG_LESS1 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%-" INT_DIG_LESS1 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%-" sym2s(INT_DIG) "d", INT_MIN );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%-" sym2s(INT_DIG) "d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%-" INT_DIG_PLUS1 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 1, INT_MAX_DEZ_STR " ", "%-" INT_DIG_PLUS1 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 2, "-" INT_MIN_DEZ_STR " ", "%-" INT_DIG_PLUS2 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 2, INT_MAX_DEZ_STR " ", "%-" INT_DIG_PLUS2 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%0" INT_DIG_LESS1 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%0" INT_DIG_LESS1 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%0" sym2s(INT_DIG) "d", INT_MIN );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%0" sym2s(INT_DIG) "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%0" INT_DIG_PLUS1 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 1, "0" INT_MAX_DEZ_STR, "%0" INT_DIG_PLUS1 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 2, "-0" INT_MIN_DEZ_STR, "%0" INT_DIG_PLUS2 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 2, "00" INT_MAX_DEZ_STR, "%0" INT_DIG_PLUS2 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%-0" INT_DIG_LESS1 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%-0" INT_DIG_LESS1 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%-0" sym2s(INT_DIG) "d", INT_MIN );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%-0" sym2s(INT_DIG) "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%-0" INT_DIG_PLUS1 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 1, INT_MAX_DEZ_STR " ", "%-0" INT_DIG_PLUS1 "d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 2, "-" INT_MIN_DEZ_STR " ", "%-0" INT_DIG_PLUS2 "d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 2, INT_MAX_DEZ_STR " ", "%-0" INT_DIG_PLUS2 "d", INT_MAX );
+ /* FIXME: This test not yet 32/64 bit agnostic */
+ PRINTF_TEST( 30, " 00000000002147483647", "%030.20d", INT_MAX );
+ PRINTF_TEST( (int)strlen( INT_HEXDIG ) + 1, "f" INT_hexdig, "%.6x", UINT_MAX );
+ PRINTF_TEST( (int)strlen( INT_HEXDIG ) + 3, "0xf" INT_hexdig, "%#6.3x", UINT_MAX );
+ PRINTF_TEST( (int)strlen( INT_HEXDIG ) + 3, "0xf" INT_hexdig, "%#3.6x", UINT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%.6d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%6.3d", INT_MIN );
+ PRINTF_TEST( INT_DIG + 1., "-" INT_MIN_DEZ_STR, "%3.6d", INT_MIN );
+ PRINTF_TEST( UINT_DIG, "0xf" INT_hexdig, "%#0.6x", UINT_MAX );
+ PRINTF_TEST( UINT_DIG, "0xf" INT_hexdig, "%#06.3x", UINT_MAX );
+ PRINTF_TEST( UINT_DIG, "0xf" INT_hexdig, "%#03.6x", UINT_MAX );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%#0.6d", INT_MAX );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%#06.3d", INT_MAX );
+ PRINTF_TEST( INT_DIG, INT_MAX_DEZ_STR, "%#03.6d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "+" INT_MAX_DEZ_STR, "%#+.6d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "+" INT_MAX_DEZ_STR, "%#+6.3d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "+" INT_MAX_DEZ_STR, "%#+3.6d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "+" INT_MAX_DEZ_STR, "%+0.6d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "+" INT_MAX_DEZ_STR, "%+06.3d", INT_MAX );
+ PRINTF_TEST( INT_DIG + 1, "+" INT_MAX_DEZ_STR, "%+03.6d", INT_MAX );
+#ifndef TEST_CONVERSION_ONLY
+ PRINTF_TEST( INT_DIG + 2, "- " INT_MAX_DEZ_STR, "- %d", INT_MAX );
+ PRINTF_TEST( INT_DIG * 2 + 6, "- " INT_MAX_DEZ_STR, " % -" INT_MIN_DEZ_STR, INT_MIN );
+#endif
+ PRINTF_TEST( 1, "x", "%c", 'x' );
+ PRINTF_TEST( 6, "abcdef", "%s", "abcdef" );
+ /* FIXME: This test not yet 32/64 bit agnostic */
+ PRINTF_TEST( 10, "0xdeadbeef", "%p", (void *)0xdeadbeef );
+ PRINTF_TEST( 6, " 0x1", "%#6x", 1 );
+#ifndef TEST_CONVERSION_ONLY