=doc 17371 avoid using awdl0 interface in tests

This commit is contained in:
Johan Andrén 2015-09-16 16:06:09 +02:00
parent c57b4e24c8
commit 93c9eff86e
2 changed files with 9 additions and 5 deletions

View file

@ -34,10 +34,13 @@ public class JavaUdpMulticastTest {
NetworkInterface ipv6Iface = null;
for (Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); interfaces.hasMoreElements() && ipv6Iface == null;) {
NetworkInterface interf = interfaces.nextElement();
for (Enumeration<InetAddress> addresses = interf.getInetAddresses(); addresses.hasMoreElements() && ipv6Iface == null;) {
InetAddress address = addresses.nextElement();
if (address instanceof Inet6Address) {
ipv6Iface = interf;
// awdl0 is a special interface on OSX that we cannot use
if (!interf.getDisplayName().equals("awdl0")) {
for (Enumeration<InetAddress> addresses = interf.getInetAddresses(); addresses.hasMoreElements() && ipv6Iface == null; ) {
InetAddress address = addresses.nextElement();
if (address instanceof Inet6Address) {
ipv6Iface = interf;
}
}
}
}

View file

@ -20,7 +20,8 @@ class ScalaUdpMulticastSpec extends TestKit(ActorSystem("ScalaUdpMulticastSpec")
"listener" should {
"send message back to sink" in {
val Some(ipv6Iface) = NetworkInterface.getNetworkInterfaces.collectFirst {
case iface if iface.getInetAddresses.exists(_.isInstanceOf[Inet6Address]) => iface
// awdl0 is a special interface on OSX that we cannot use
case iface if iface.getInetAddresses.exists(_.isInstanceOf[Inet6Address]) && iface.getDisplayName != "awdl0" => iface
}
// host assigned link local multicast address http://tools.ietf.org/html/rfc3307#section-4.3.2