The runner process is listening only on
127.0.0.1, the IPv4 loopback address, but Eclipse is trying to connect to
localhost – which can be either
::1, the latter being IPv6 loopback. On most operating systems, IPv6 is enabled, it will be preferred, causing Eclipse to try IPv6
Since JUnitRunner is not listening on any IPv6 address, the OS should reject attempted connections with a TCP RST (or mayyybe ICMP "Port Unreachable" if properly firewalled). However, you probably have a firewall configuration that is silently dropping such attempts, which means the client (Eclipse) will be waiting for a reply that is never sent.
First check your firewall configuration (
ip6tables) – there is no reason for it to block loopback connections in any way. Test with the firewall temporarily disabled. If nothing helps, check if Eclipse can be configured to use
127.0.0.1, or if JUnit can be configured to listen on both IPv6 and IPv4.