| ... | @@ -32,13 +32,14 @@ test "parse and render IPv6 addresses" { | ... | @@ -32,13 +32,14 @@ test "parse and render IPv6 addresses" { |
| 32 | }; | 32 | }; |
| 33 | for (ips) |ip, i| { | 33 | for (ips) |ip, i| { |
| 34 | var addr = net.Address.parseIp6(ip, 0) catch unreachable; | 34 | var addr = net.Address.parseIp6(ip, 0) catch unreachable; |
| 35 | var addr_via_resolve = net.Address.resolveIp6(ip, 0) catch unreachable; | | |
| 36 | | | |
| 37 | var newIp = std.fmt.bufPrint(buffer[0..], "{}", .{addr}) catch unreachable; | 35 | var newIp = std.fmt.bufPrint(buffer[0..], "{}", .{addr}) catch unreachable; |
| 38 | var newResolvedIp = std.fmt.bufPrint(buffer[0..], "{}", .{addr_via_resolve}) catch unreachable; | | |
| 39 | | | |
| 40 | std.testing.expect(std.mem.eql(u8, printed[i], newIp[1 .. newIp.len - 3])); | 36 | std.testing.expect(std.mem.eql(u8, printed[i], newIp[1 .. newIp.len - 3])); |
| 41 | std.testing.expect(std.mem.eql(u8, printed[i], newResolvedIp[1 .. newResolvedIp.len - 3])); | 37 | |
| | 38 | if (std.builtin.os.tag == .linux) { |
| | 39 | var addr_via_resolve = net.Address.resolveIp6(ip, 0) catch unreachable; |
| | 40 | var newResolvedIp = std.fmt.bufPrint(buffer[0..], "{}", .{addr_via_resolve}) catch unreachable; |
| | 41 | std.testing.expect(std.mem.eql(u8, printed[i], newResolvedIp[1 .. newResolvedIp.len - 3])); |
| | 42 | } |
| 42 | } | 43 | } |
| 43 | | 44 | |
| 44 | testing.expectError(error.InvalidCharacter, net.Address.parseIp6(":::", 0)); | 45 | testing.expectError(error.InvalidCharacter, net.Address.parseIp6(":::", 0)); |
| ... | @@ -47,9 +48,11 @@ test "parse and render IPv6 addresses" { | ... | @@ -47,9 +48,11 @@ test "parse and render IPv6 addresses" { |
| 47 | testing.expectError(error.InvalidEnd, net.Address.parseIp6("FF01:0:0:0:0:0:0:FB:", 0)); | 48 | testing.expectError(error.InvalidEnd, net.Address.parseIp6("FF01:0:0:0:0:0:0:FB:", 0)); |
| 48 | testing.expectError(error.Incomplete, net.Address.parseIp6("FF01:", 0)); | 49 | testing.expectError(error.Incomplete, net.Address.parseIp6("FF01:", 0)); |
| 49 | testing.expectError(error.InvalidIpv4Mapping, net.Address.parseIp6("::123.123.123.123", 0)); | 50 | testing.expectError(error.InvalidIpv4Mapping, net.Address.parseIp6("::123.123.123.123", 0)); |
| 50 | testing.expectError(error.Incomplete, net.Address.resolveIp6("ff01::fb%", 0)); | 51 | if (std.builtin.os.tag == .linux) { |
| 51 | testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%wlp3s0s0s0s0s0s0s0s0", 0)); | 52 | testing.expectError(error.Incomplete, net.Address.resolveIp6("ff01::fb%", 0)); |
| 52 | testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%12345678901234", 0)); | 53 | testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%wlp3s0s0s0s0s0s0s0s0", 0)); |
| | 54 | testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%12345678901234", 0)); |
| | 55 | } |
| 53 | } | 56 | } |
| 54 | | 57 | |
| 55 | test "invalid but parseable IPv6 scope ids" { | 58 | test "invalid but parseable IPv6 scope ids" { |