1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
11 "golang.org/x/net/nettest"
12 check "gopkg.in/check.v1"
15 func Test(t *testing.T) {
19 type supervisorSuite struct{}
21 var _ = check.Suite(&supervisorSuite{})
23 func (s *supervisorSuite) TestAddrIsLocal(c *check.C) {
24 is, err := addrIsLocal("0.0.0.0:0")
25 c.Check(err, check.IsNil)
26 c.Check(is, check.Equals, true)
28 is, err = addrIsLocal("127.0.0.1:9")
29 c.Check(err, check.IsNil)
30 c.Check(is, check.Equals, true)
32 is, err = addrIsLocal("127.0.0.127:32767")
33 c.Check(err, check.IsNil)
34 c.Check(is, check.Equals, true)
36 if nettest.SupportsIPv6() {
37 is, err = addrIsLocal("[::1]:32767")
38 c.Check(err, check.IsNil)
39 c.Check(is, check.Equals, true)
42 is, err = addrIsLocal("8.8.8.8:32767")
43 c.Check(err, check.IsNil)
44 c.Check(is, check.Equals, false)
46 is, err = addrIsLocal("example.com:32767")
47 c.Check(err, check.IsNil)
48 c.Check(is, check.Equals, false)
50 is, err = addrIsLocal("1.2.3.4.5:32767")
51 c.Check(err, check.NotNil)
53 ln, err := net.Listen("tcp", ":")
54 c.Assert(err, check.IsNil)
56 is, err = addrIsLocal(ln.Addr().String())
57 c.Check(err, check.IsNil)
58 c.Check(is, check.Equals, true)