diff --git a/lif/address_test.go b/lif/address_test.go
index f62ed93..a25f10b 100644
--- a/lif/address_test.go
+++ b/lif/address_test.go
@@ -78,15 +78,17 @@
 }
 
 func addrPacks() ([]addrPack, error) {
+	var lastErr error
 	var aps []addrPack
 	for _, af := range [...]int{sysAF_UNSPEC, sysAF_INET, sysAF_INET6} {
 		as, err := Addrs(af, "")
 		if err != nil {
-			return nil, err
+			lastErr = err
+			continue
 		}
 		aps = append(aps, addrPack{af: af, as: as})
 	}
-	return aps, nil
+	return aps, lastErr
 }
 
 func TestAddrs(t *testing.T) {
diff --git a/lif/link_test.go b/lif/link_test.go
index 8fb2bf6..0cb9b95 100644
--- a/lif/link_test.go
+++ b/lif/link_test.go
@@ -21,15 +21,17 @@
 }
 
 func linkPacks() ([]linkPack, error) {
+	var lastErr error
 	var lps []linkPack
 	for _, af := range [...]int{sysAF_UNSPEC, sysAF_INET, sysAF_INET6} {
 		lls, err := Links(af, "")
 		if err != nil {
-			return nil, err
+			lastErr = err
+			continue
 		}
 		lps = append(lps, linkPack{af: af, lls: lls})
 	}
-	return lps, nil
+	return lps, lastErr
 }
 
 func TestLinks(t *testing.T) {
