]> git.arvados.org - arvados.git/blob - lib/boot/supervisor_test.go
Merge branch '23009-multiselect-bug' into main. Closes #23009
[arvados.git] / lib / boot / supervisor_test.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 package boot
6
7 import (
8         "net"
9         "testing"
10
11         "golang.org/x/net/nettest"
12         check "gopkg.in/check.v1"
13 )
14
15 func Test(t *testing.T) {
16         check.TestingT(t)
17 }
18
19 type supervisorSuite struct{}
20
21 var _ = check.Suite(&supervisorSuite{})
22
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)
27
28         is, err = addrIsLocal("127.0.0.1:9")
29         c.Check(err, check.IsNil)
30         c.Check(is, check.Equals, true)
31
32         is, err = addrIsLocal("127.0.0.127:32767")
33         c.Check(err, check.IsNil)
34         c.Check(is, check.Equals, true)
35
36         if nettest.SupportsIPv6() {
37                 is, err = addrIsLocal("[::1]:32767")
38                 c.Check(err, check.IsNil)
39                 c.Check(is, check.Equals, true)
40         }
41
42         is, err = addrIsLocal("8.8.8.8:32767")
43         c.Check(err, check.IsNil)
44         c.Check(is, check.Equals, false)
45
46         is, err = addrIsLocal("example.com:32767")
47         c.Check(err, check.IsNil)
48         c.Check(is, check.Equals, false)
49
50         is, err = addrIsLocal("1.2.3.4.5:32767")
51         c.Check(err, check.NotNil)
52
53         ln, err := net.Listen("tcp", ":")
54         c.Assert(err, check.IsNil)
55         defer ln.Close()
56         is, err = addrIsLocal(ln.Addr().String())
57         c.Check(err, check.IsNil)
58         c.Check(is, check.Equals, true)
59
60 }