| 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.
| 
 |