64
func TestListenerAddrEqual(t *testing.T) {
65
ln1, err := net.Listen("tcp", "[::]:0")
71
ln1port := strconv.Itoa(ln1.Addr().(*net.TCPAddr).Port)
73
ln2, err := net.Listen("tcp", "127.0.0.1:0")
79
ln2port := strconv.Itoa(ln2.Addr().(*net.TCPAddr).Port)
81
for i, test := range []struct {
86
{ln1, ":1234", false},
87
{ln1, "0.0.0.0:1234", false},
88
{ln1, "0.0.0.0", false},
89
{ln1, ":" + ln1port + "", true},
90
{ln1, "0.0.0.0:" + ln1port + "", true},
91
{ln2, ":" + ln2port + "", false},
92
{ln2, "127.0.0.1:1234", false},
93
{ln2, "127.0.0.1", false},
94
{ln2, "127.0.0.1:" + ln2port + "", true},
96
if got, want := listenerAddrEqual(test.ln, test.addr), test.expect; got != want {
97
t.Errorf("Test %d (%s == %s): expected %v but was %v", i, test.addr, test.ln.Addr().String(), want, got)