mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] printf: add IPv6 address format tests
@ 2026-03-17 11:45 Shuvam Pandey
  2026-03-17 14:14 ` Andy Shevchenko
  2026-03-24 13:43 ` Petr Mladek
  0 siblings, 2 replies; 3+ messages in thread
From: Shuvam Pandey @ 2026-03-17 11:45 UTC (permalink / raw)
  To: Petr Mladek, Steven Rostedt
  Cc: Andy Shevchenko, Rasmus Villemoes, Sergey Senozhatsky, linux-kernel

printf_kunit already covers IPv4 address formatting, but the ip6()
test case is empty even though printk-formats.rst documents %pI6,
%pi6, %pI6c, and generic %pIS variants.

Add focused IPv6 checks for raw and generic formatting, compressed
output, the single-zero %pI6c corner case, and bracketed port
formatting for sockaddr_in6.

Validated with the arm64 printf KUnit suite and a W=1 rebuild of
lib/tests/printf_kunit.o.

Signed-off-by: Shuvam Pandey <shuvampandey1@gmail.com>
---
 lib/tests/printf_kunit.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/lib/tests/printf_kunit.c b/lib/tests/printf_kunit.c
index c64bfe79652e..739c755dd1ab 100644
--- a/lib/tests/printf_kunit.c
+++ b/lib/tests/printf_kunit.c
@@ -17,6 +17,7 @@
 #include <linux/dcache.h>
 #include <linux/socket.h>
 #include <linux/in.h>
+#include <linux/in6.h>
 
 #include <linux/gfp.h>
 #include <linux/mm.h>
@@ -437,6 +438,27 @@ ip4(struct kunit *kunittest)
 static void
 ip6(struct kunit *kunittest)
 {
+	const struct in6_addr addr = {
+		.s6_addr = { 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04,
+			     0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 }
+	};
+	const struct in6_addr single_zero = {
+		.s6_addr = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04,
+			     0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 }
+	};
+	struct sockaddr_in6 sa = {
+		.sin6_family = AF_INET6,
+		.sin6_port = cpu_to_be16(12345),
+		.sin6_addr = addr,
+	};
+
+	test("00010002000300040005000600070008|0001:0002:0003:0004:0005:0006:0007:0008",
+	     "%pi6|%pI6", &addr, &addr);
+	test("00010002000300040005000600070008|0001:0002:0003:0004:0005:0006:0007:0008",
+	     "%piS|%pIS", &sa, &sa);
+	test("1:2:3:4:5:6:7:8", "%pI6c", &addr);
+	test("1:0:3:4:5:6:7:8", "%pI6c", &single_zero);
+	test("[1:2:3:4:5:6:7:8]:12345", "%pISpc", &sa);
 }
 
 static void
-- 
2.50.1 (Apple Git-155)


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-03-24 13:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-17 11:45 [PATCH] printf: add IPv6 address format tests Shuvam Pandey
2026-03-17 14:14 ` Andy Shevchenko
2026-03-24 13:43 ` Petr Mladek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®