# HG changeset patch # User Matti Hamalainen # Date 1578928393 -7200 # Node ID 4ea7b0e9dcba1af9733ae5199b18d494434d314d # Parent 308531ac74e75dcef81418a24fe90162e074e25e Improve string printf() tests. diff -r 308531ac74e7 -r 4ea7b0e9dcba tests.c --- a/tests.c Mon Jan 13 17:12:54 2020 +0200 +++ b/tests.c Mon Jan 13 17:13:13 2020 +0200 @@ -587,7 +587,7 @@ // Test series for printf() // char *i_fmts[] = { "", "05", "6", ".4", "1.1", "1.0", "8.5", "08.5", "3", "2.1", "3", "1", "18", "018", ".0", "0" }; - char *i_mods[] = { "", "-", "+", "#", }; + char *i_mods[] = { "", "-", "+", "#", " ", }; char *i_types[] = { "d", "u", "i", "x", "X", "o", }; if (test_set_start("printf() integer")) @@ -651,12 +651,16 @@ if (test_set_start("printf() string")) { char *s_vals[] = { "", "XYZXYZ", "xxx yyy zzz ppp fff", NULL, "X", "abcde", "dx", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", }; - char *s_fmts[] = { "%s", "%2s", "%-2s", "%5s", "%-5s", "%16s", "%-16s", "%1s", "%-1s", "% 2s", "%03s", "% -12s", "% 03s", "%-.15s", "%.8s" }; + // char *s_fmts[] = { "%s", "%2s", "%-2s", "%5s", "%-5s", "%16s", "%-16s", "%1s", "%-1s", "% 2s", "%03s", "% -12s", "% 03s", "%-.15s", "%.8s" }; + char *s_fmts[] = { "", "-" " ", "0", " 0", ".", "-.", }; + int s_widths[] = { 0, 1, 2, 5, 16, }; for (i1 = 0; i1 < NCOUNT(s_vals); i1++) + for (i2 = 0; i2 < NCOUNT(s_fmts); i2++) + for (i3 = 0; i3 < NCOUNT(s_widths); i3++) { - for (i2 = 0; i2 < NCOUNT(s_fmts); i2++) - test_snprintf(s_vals[i1], s_fmts[i2], s_vals[i1]); + snprintf(buf, sizeof(buf), "%%%s%ds", s_fmts[i2], s_widths[i3]); + test_snprintf(s_vals[i1], buf, s_vals[i1]); } }