printf: add IPv6 address format tests
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. Signed-off-by: Shuvam Pandey <shuvampandey1@gmail.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Petr Mladek <pmladek@suse.com> Tested-by: Petr Mladek <pmladek@suse.com> Link: https://patch.msgid.link/20260317114548.98919-1-shuvampandey1@gmail.com [pmladek@suse.com: Removed non-necessary details from the commit message.] Signed-off-by: Petr Mladek <pmladek@suse.com>master
parent
db9571a661
commit
f4cf0992be
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue