8224645: Only test multicast interfaces if they exist
Reviewed-by: alanb, dfuchs, chegar
This commit is contained in:
parent
08e1ece107
commit
df9ad2af75
@ -38,7 +38,6 @@ import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import jdk.test.lib.NetworkConfiguration;
|
||||
import jdk.test.lib.net.IPSupport;
|
||||
|
||||
public class BasicMulticastTests {
|
||||
|
||||
@ -120,7 +119,10 @@ public class BasicMulticastTests {
|
||||
InetAddress loopback)
|
||||
throws IOException
|
||||
{
|
||||
System.out.println("Exception Tests");
|
||||
System.out.format("Exception Tests using %s, %s @ %s\n",
|
||||
group.getHostAddress(),
|
||||
notGroup.getHostAddress(),
|
||||
nif.getName());
|
||||
|
||||
DatagramChannel dc = DatagramChannel.open(family)
|
||||
.setOption(StandardSocketOptions.SO_REUSEADDR, true)
|
||||
@ -200,28 +202,36 @@ public class BasicMulticastTests {
|
||||
* and invoke tests.
|
||||
*/
|
||||
public static void main(String[] args) throws IOException {
|
||||
NetworkConfiguration.printSystemConfiguration(System.out);
|
||||
|
||||
NetworkConfiguration config = NetworkConfiguration.probe();
|
||||
|
||||
// test IPv4 if available
|
||||
if (IPSupport.hasIPv4()) {
|
||||
{
|
||||
var multicastInterfaces = config.ip4MulticastInterfaces().iterator();
|
||||
InetAddress group = InetAddress.getByName("225.4.5.6");
|
||||
InetAddress notGroup = InetAddress.getByName("1.2.3.4");
|
||||
InetAddress loopback = InetAddress.getByName("127.0.0.1");
|
||||
NetworkInterface nif = config.ip4MulticastInterfaces().iterator().next();
|
||||
InetAddress anySource = config.ip4Addresses(nif).iterator().next();
|
||||
membershipKeyTests(StandardProtocolFamily.INET, group, nif, anySource);
|
||||
exceptionTests(StandardProtocolFamily.INET, group, notGroup, nif, loopback);
|
||||
while (multicastInterfaces.hasNext()) {
|
||||
NetworkInterface nif = multicastInterfaces.next();
|
||||
InetAddress anySource = config.ip4Addresses(nif).iterator().next();
|
||||
membershipKeyTests(StandardProtocolFamily.INET, group, nif, anySource);
|
||||
exceptionTests(StandardProtocolFamily.INET, group, notGroup, nif, loopback);
|
||||
}
|
||||
}
|
||||
|
||||
// test IPv6 if available
|
||||
if (IPSupport.hasIPv6()) {
|
||||
{
|
||||
var multicastInterfaces = config.ip6MulticastInterfaces().iterator();
|
||||
InetAddress group = InetAddress.getByName("ff02::a");
|
||||
InetAddress notGroup = InetAddress.getByName("fe80::1234");
|
||||
InetAddress loopback = InetAddress.getByName("::1");
|
||||
NetworkInterface nif = config.ip6MulticastInterfaces().iterator().next();
|
||||
InetAddress anySource = config.ip6Addresses(nif).iterator().next();
|
||||
membershipKeyTests(StandardProtocolFamily.INET6, group, nif, anySource);
|
||||
exceptionTests(StandardProtocolFamily.INET6, group, notGroup, nif, loopback);
|
||||
while (multicastInterfaces.hasNext()) {
|
||||
NetworkInterface nif = multicastInterfaces.next();
|
||||
InetAddress anySource = config.ip6Addresses(nif).iterator().next();
|
||||
membershipKeyTests(StandardProtocolFamily.INET6, group, nif, anySource);
|
||||
exceptionTests(StandardProtocolFamily.INET6, group, notGroup, nif, loopback);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user