diff mbox series

[1/1] test: test field truncation in snprint()

Message ID 20220129153316.216588-1-heinrich.schuchardt@canonical.com
State Accepted
Commit 73cde90c8badbeba32524c2708d26fea805fba1e
Delegated to: Tom Rini
Headers show
Series [1/1] test: test field truncation in snprint() | expand

Commit Message

Heinrich Schuchardt Jan. 29, 2022, 3:33 p.m. UTC
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>
---
 test/print_ut.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Simon Glass Feb. 11, 2022, 3:05 p.m. UTC | #1
On Sat, 29 Jan 2022 at 08:33, Heinrich Schuchardt
<heinrich.schuchardt@canonical.com> wrote:
>
> 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>
> ---
>  test/print_ut.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>

Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini Feb. 11, 2022, 5:06 p.m. UTC | #2
On Sat, Jan 29, 2022 at 04:33:16PM +0100, Heinrich Schuchardt wrote:

> 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>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/test/print_ut.c b/test/print_ut.c
index 194387f169..8b3e0ea418 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);