|
Duplicate :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
The test has this comment:
* NOTE:
* This test requires at least a setup similar to the following in
* /etc/hosts file (or the windows equivalent). I.e. it expects it to
* be multi-homed and not both being the loop-back interface.
* For example:
* ----->8-------- /etc/hosts ----------->8---
* 127.0.0.1 localhost
* 192.168.0.1 localhost
* ----->8-------- /etc/hosts ----------->8---
However, when one configures the /etc/hosts file like the above the test still fails trivially with:
Ignoring manual test since no more than one IPs are configured for 'localhost'
As it turns out JDK-8145982 changed the original test by filtering out loopback interfaces from the interface list. The original logic used InetAddress.getAllByName("localhost") which included loopback addresses such as 127.0.0.1. The logic post JDK-8145982 does no longer.
As a result the condition in the test's main method is wrong:
List<InetAddress> addrs = getAddressesForLocalHost();
if (addrs.size() < 2) {
System.out.println("Ignoring manual test since no more than one IPs are configured for 'localhost'");
return;
}
The condition should be addrs.size() < 1 rather than 2.
The test needs at least two separate ip:port pairs to be able to bind to in order to not trivially pass. For example loop back address and the IP of the host should be sufficient.
|