diff options
author | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2022-01-29 16:33:16 +0100 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-02-11 11:29:23 -0500 |
commit | 73cde90c8badbeba32524c2708d26fea805fba1e (patch) | |
tree | 5886f2d3c62f227f62cb4c67ac30a8f8ed9712f8 /test | |
parent | 3970c82a60857b72afcb676697caf9c979dab946 (diff) |
test: test field truncation in snprint()
The output size for snprint() should not only be respected for whole fields
but also with fields. Add more tests.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/print_ut.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/print_ut.c b/test/print_ut.c index a133907674..247011f2db 100644 --- a/test/print_ut.c +++ b/test/print_ut.c @@ -370,6 +370,18 @@ static int snprint(struct unit_test_state *uts) char buf[10] = "xxxxxxxxx"; int ret; + ret = snprintf(buf, 5, "%d", 12345678); + ut_asserteq_str("1234", buf); + ut_asserteq(8, ret); + ret = snprintf(buf, 5, "0x%x", 0x1234); + ut_asserteq_str("0x12", buf); + ut_asserteq(6, ret); + ret = snprintf(buf, 5, "0x%08x", 0x1234); + ut_asserteq_str("0x00", buf); + ut_asserteq(10, ret); + ret = snprintf(buf, 3, "%s", "abc"); + ut_asserteq_str("ab", buf); + ut_asserteq(3, ret); ret = snprintf(buf, 4, "%s:%s", "abc", "def"); ut_asserteq(0, buf[3]); ut_asserteq(7, ret); |