skip v6 test when no v6 interface

parent 1e73e463
......@@ -29,5 +29,5 @@ func New() (routing.Router, error) {
if err != nil {
return nil, err
}
return router{r}, nil
return &router{r}, nil
}
......@@ -18,6 +18,7 @@ func TestRoute(t *testing.T) {
}
var localAddr net.IP
var hasV6 bool
addrs, err := ifs[0].Addrs()
for _, addr := range addrs {
if strings.HasPrefix(addr.Network(), "ip") {
......@@ -25,6 +26,15 @@ func TestRoute(t *testing.T) {
break
}
}
for _, addr := range addrs {
if strings.HasPrefix(addr.Network(), "ip") {
_, ipn, _ := net.ParseCIDR(addr.String())
if ipn.IP.To4() == nil {
hasV6 = true
break
}
}
}
_, gw, src, err := r.Route(localAddr)
if err != nil {
......@@ -44,6 +54,9 @@ func TestRoute(t *testing.T) {
}
// Route to v4 and v6 should differ.
if !hasV6 {
return
}
_, v6gw, _, err := r.Route(net.ParseIP("2607:f8b0:400a:809::200e")) // at one point google.
if err != nil {
t.Fatal(err)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment