1
0
mirror of https://github.com/golang/go synced 2024-10-05 04:31:22 -06:00
go/src/pkg/net/hosts_test.go
Russ Cox 41f93a430f net: drop laddr from Dial, cname from LookupHost; new functions
Drop laddr argument from Dial.

Drop cname return from LookupHost.

Add LookupIP, LookupCNAME, ParseCIDR, IP.Equal.
Export SplitHostPort, JoinHostPort.
Add AAAA (IPv6) support to host lookups.

Preparations for implementing some of the
lookups using cgo.

ParseCIDR and IP.Equal are logically new in this CL
but accidentally snuck into an earlier CL about unused
labels that was in the same client.

In crypto/tls, drop laddr from Dial to match net.

R=golang-dev, dsymonds, adg, rh
CC=golang-dev
https://golang.org/cl/4244055
2011-03-28 23:28:42 -04:00

54 lines
973 B
Go

// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package net
import (
"testing"
)
type hostTest struct {
host string
ips []IP
}
var hosttests = []hostTest{
{"odin", []IP{
IPv4(127, 0, 0, 2),
IPv4(127, 0, 0, 3),
ParseIP("::2"),
}},
{"thor", []IP{
IPv4(127, 1, 1, 1),
}},
{"loki", []IP{}},
{"ullr", []IP{
IPv4(127, 1, 1, 2),
}},
{"ullrhost", []IP{
IPv4(127, 1, 1, 2),
}},
}
func TestLookupStaticHost(t *testing.T) {
p := hostsPath
hostsPath = "hosts_testdata"
for i := 0; i < len(hosttests); i++ {
tt := hosttests[i]
ips := lookupStaticHost(tt.host)
if len(ips) != len(tt.ips) {
t.Errorf("# of hosts = %v; want %v",
len(ips), len(tt.ips))
return
}
for k, v := range ips {
if tt.ips[k].String() != v {
t.Errorf("lookupStaticHost(%q) = %v; want %v",
tt.host, v, tt.ips[k])
}
}
}
hostsPath = p
}