8247463: java/nio/channels/etc/OpenAndConnect.java fails due to IPv6 not available
Reviewed-by: dfuchs, alanb
This commit is contained in:
parent
ca85c5ab15
commit
fd7123b268
@ -94,12 +94,23 @@ public class OpenAndConnect {
|
|||||||
@DataProvider(name = "openConnect")
|
@DataProvider(name = "openConnect")
|
||||||
public Object[][] openConnect() {
|
public Object[][] openConnect() {
|
||||||
LinkedList<Object[]> l = new LinkedList<>();
|
LinkedList<Object[]> l = new LinkedList<>();
|
||||||
l.addAll(openConnectGenTests);
|
if (IPSupport.hasIPv4()) {
|
||||||
if (IA4LOCAL != null) {
|
l.addAll(openConnectV4Tests);
|
||||||
l.addAll(openConnectV4LocalTests);
|
if (IA4LOCAL != null) {
|
||||||
|
l.addAll(openConnectV4LocalTests);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (IA6LOCAL != null) {
|
if (IPSupport.hasIPv6()) {
|
||||||
l.addAll(openConnectV6LocalTests);
|
l.addAll(openConnectV6Tests);
|
||||||
|
if (IA6LOCAL != null) {
|
||||||
|
l.addAll(openConnectV6LocalTests);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (IPSupport.hasIPv4() && IPSupport.hasIPv6()) {
|
||||||
|
l.addAll(openConnectV4AndV6Tests);
|
||||||
|
if (IA4LOCAL != null) {
|
||||||
|
l.addAll(openConnectV4LocalAndV6Tests);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return l.toArray(new Object[][]{});
|
return l.toArray(new Object[][]{});
|
||||||
}
|
}
|
||||||
@ -122,40 +133,20 @@ public class OpenAndConnect {
|
|||||||
// + + + +
|
// + + + +
|
||||||
// { sfam, saddr, cfam, caddr, }
|
// { sfam, saddr, cfam, caddr, }
|
||||||
|
|
||||||
public static List<Object[]> openConnectGenTests =
|
// Basic tests for when an IPv4 is available
|
||||||
|
public static List<Object[]> openConnectV4Tests =
|
||||||
Arrays.asList(new Object[][] {
|
Arrays.asList(new Object[][] {
|
||||||
{ INET, IA4LOOPBACK, INET, IA4LOOPBACK },
|
{ INET, IA4LOOPBACK, INET, IA4LOOPBACK },
|
||||||
{ INET, IA4LOOPBACK, null, IA4LOOPBACK },
|
{ INET, IA4LOOPBACK, null, IA4LOOPBACK },
|
||||||
{ INET, IA4ANYLOCAL, null, IA4LOOPBACK },
|
{ INET, IA4ANYLOCAL, null, IA4LOOPBACK },
|
||||||
{ INET, IA4ANYLOCAL, INET, IA4LOOPBACK },
|
{ INET, IA4ANYLOCAL, INET, IA4LOOPBACK },
|
||||||
{ INET6, IA6ANYLOCAL, null, IA6LOOPBACK },
|
|
||||||
{ INET6, IA6ANYLOCAL, INET6, IA6LOOPBACK },
|
|
||||||
{ INET6, IA6LOOPBACK, INET6, IA6LOOPBACK },
|
|
||||||
{ null, IA4LOOPBACK, INET, IA4ANYLOCAL },
|
{ null, IA4LOOPBACK, INET, IA4ANYLOCAL },
|
||||||
{ null, IA4LOOPBACK, INET, IA4LOOPBACK },
|
{ null, IA4LOOPBACK, INET, IA4LOOPBACK },
|
||||||
{ null, IA4LOOPBACK, INET, null },
|
{ null, IA4LOOPBACK, INET, null },
|
||||||
{ null, IA4LOOPBACK, INET6, IA6ANYLOCAL },
|
{ null, IA4LOOPBACK, null, null }
|
||||||
{ null, IA6LOOPBACK, INET6, IA6ANYLOCAL },
|
|
||||||
{ null, IA6LOOPBACK, INET6, IA6LOOPBACK },
|
|
||||||
{ null, IA6LOOPBACK, INET6, DONT_BIND },
|
|
||||||
{ null, IA4LOOPBACK, INET6, DONT_BIND },
|
|
||||||
{ null, IA4LOOPBACK, INET6, null },
|
|
||||||
{ null, IA6LOOPBACK, INET6, null },
|
|
||||||
{ null, IA4LOOPBACK, null, IA6ANYLOCAL },
|
|
||||||
{ null, IA6LOOPBACK, null, IA6ANYLOCAL },
|
|
||||||
{ null, IA6LOOPBACK, null, IA6LOOPBACK },
|
|
||||||
{ null, IA4LOOPBACK, null, null },
|
|
||||||
{ null, IA6LOOPBACK, null, null },
|
|
||||||
{ null, IA6ANYLOCAL, null, IA6LOCAL },
|
|
||||||
{ null, IA6ANYLOCAL, null, IA6LOOPBACK },
|
|
||||||
{ null, IA6ANYLOCAL, INET6, IA6LOCAL },
|
|
||||||
{ null, IA6ANYLOCAL, INET6, IA6LOOPBACK },
|
|
||||||
{ INET6, IA6LOOPBACK, INET6, IA6LOOPBACK }
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Additional tests for when an IPv4 local address or V6
|
// Additional tests for when an IPv4 local address is available
|
||||||
// local address is available
|
|
||||||
|
|
||||||
public List<Object[]> openConnectV4LocalTests =
|
public List<Object[]> openConnectV4LocalTests =
|
||||||
Arrays.asList(new Object[][] {
|
Arrays.asList(new Object[][] {
|
||||||
{ INET, IA4LOCAL, INET, IA4LOCAL },
|
{ INET, IA4LOCAL, INET, IA4LOCAL },
|
||||||
@ -166,11 +157,28 @@ public class OpenAndConnect {
|
|||||||
{ null, IA4LOCAL, INET, IA4ANYLOCAL },
|
{ null, IA4LOCAL, INET, IA4ANYLOCAL },
|
||||||
{ null, IA4LOCAL, INET, IA4LOCAL },
|
{ null, IA4LOCAL, INET, IA4LOCAL },
|
||||||
{ null, IA4LOCAL, INET, null },
|
{ null, IA4LOCAL, INET, null },
|
||||||
{ null, IA4LOCAL, INET6, IA6ANYLOCAL },
|
{ null, IA4LOCAL, null, null }
|
||||||
{ null, IA4LOCAL, INET6, null },
|
|
||||||
{ null, IA4LOCAL, null, IA6ANYLOCAL }
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Basic tests for when an IPv6 is available
|
||||||
|
public List<Object[]> openConnectV6Tests =
|
||||||
|
Arrays.asList(new Object[][] {
|
||||||
|
{ INET6, IA6ANYLOCAL, null, IA6LOOPBACK },
|
||||||
|
{ INET6, IA6ANYLOCAL, INET6, IA6LOOPBACK },
|
||||||
|
{ INET6, IA6LOOPBACK, INET6, IA6LOOPBACK },
|
||||||
|
{ INET6, IA6LOOPBACK, INET6, IA6LOOPBACK },
|
||||||
|
{ null, IA6ANYLOCAL, null, IA6LOOPBACK },
|
||||||
|
{ null, IA6ANYLOCAL, INET6, IA6LOOPBACK },
|
||||||
|
{ null, IA6LOOPBACK, INET6, IA6LOOPBACK },
|
||||||
|
{ null, IA6LOOPBACK, INET6, DONT_BIND },
|
||||||
|
{ null, IA6LOOPBACK, INET6, null },
|
||||||
|
{ null, IA6LOOPBACK, null, IA6LOOPBACK },
|
||||||
|
{ null, IA6LOOPBACK, null, null },
|
||||||
|
{ null, IA6LOOPBACK, INET6, IA6ANYLOCAL },
|
||||||
|
{ null, IA6LOOPBACK, null, IA6ANYLOCAL }
|
||||||
|
});
|
||||||
|
|
||||||
|
// Additional tests for when an IPv6 local address is available
|
||||||
public List<Object[]> openConnectV6LocalTests =
|
public List<Object[]> openConnectV6LocalTests =
|
||||||
Arrays.asList(new Object[][] {
|
Arrays.asList(new Object[][] {
|
||||||
{ INET6, IA6ANYLOCAL, null, IA6LOCAL },
|
{ INET6, IA6ANYLOCAL, null, IA6LOCAL },
|
||||||
@ -178,16 +186,33 @@ public class OpenAndConnect {
|
|||||||
{ INET6, IA6LOCAL, INET6, IA6LOCAL },
|
{ INET6, IA6LOCAL, INET6, IA6LOCAL },
|
||||||
{ INET6, IA6LOCAL, null, IA6LOCAL },
|
{ INET6, IA6LOCAL, null, IA6LOCAL },
|
||||||
{ INET6, IA6LOCAL, null, DONT_BIND },
|
{ INET6, IA6LOCAL, null, DONT_BIND },
|
||||||
|
{ INET6, IA6LOCAL, INET6, IA6LOCAL },
|
||||||
|
{ null, IA6ANYLOCAL, null, IA6LOCAL },
|
||||||
|
{ null, IA6ANYLOCAL, INET6, IA6LOCAL },
|
||||||
{ null, IA6LOCAL, INET6, IA6LOCAL },
|
{ null, IA6LOCAL, INET6, IA6LOCAL },
|
||||||
{ null, IA6LOCAL, INET6, IA6ANYLOCAL },
|
{ null, IA6LOCAL, INET6, IA6ANYLOCAL },
|
||||||
{ null, IA6LOCAL, null, IA6ANYLOCAL },
|
{ null, IA6LOCAL, null, IA6ANYLOCAL },
|
||||||
{ null, IA6LOCAL, null, IA6LOCAL },
|
{ null, IA6LOCAL, null, IA6LOCAL },
|
||||||
{ null, IA6LOCAL, INET6, null },
|
{ null, IA6LOCAL, INET6, null },
|
||||||
{ null, IA6LOCAL, null, null },
|
{ null, IA6LOCAL, null, null }
|
||||||
{ null, IA4LOCAL, null, null },
|
|
||||||
{ INET6, IA6LOCAL, INET6, IA6LOCAL }
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Additional tests for when IPv4 and IPv6 are available
|
||||||
|
public List<Object[]> openConnectV4AndV6Tests =
|
||||||
|
Arrays.asList(new Object[][] {
|
||||||
|
{ null, IA4LOOPBACK, INET6, IA6ANYLOCAL },
|
||||||
|
{ null, IA4LOOPBACK, null, IA6ANYLOCAL },
|
||||||
|
{ null, IA4LOOPBACK, INET6, DONT_BIND },
|
||||||
|
{ null, IA4LOOPBACK, INET6, null }
|
||||||
|
});
|
||||||
|
|
||||||
|
// Additional tests for when IPv4 local address and IPv6 are available
|
||||||
|
public List<Object[]> openConnectV4LocalAndV6Tests =
|
||||||
|
Arrays.asList(new Object[][] {
|
||||||
|
{ null, IA4LOCAL, INET6, IA6ANYLOCAL },
|
||||||
|
{ null, IA4LOCAL, INET6, null },
|
||||||
|
{ null, IA4LOCAL, null, IA6ANYLOCAL }
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If the destination address is the wildcard, it is replaced by the alternate
|
* If the destination address is the wildcard, it is replaced by the alternate
|
||||||
|
Loading…
x
Reference in New Issue
Block a user