Browse files

fix 5868 -fix DefaultHostsFileEntriesResolverTest to pass on windows 7


Windows 7 hosts file is empty by default (at least on my machine? see
for details and reasoning.

the test relies on the file containing an entry for localhost.


refactor class code to 1st normalize the input host name and then look it up, change the test to verify
that hostnames are normalized in a case-insensitive way before being looked up (which was the intent
of the original test)


test should pass on vanilla windows 7 (and any other machine with no
localhost in the hosts file). no effect anywhere else or on actual netty

Signed-off-by: radai-rosenblatt <>
  • Loading branch information...
1 parent f755e58 commit 4e2530c171edc98a94ea91fda1e988963b0cbf38 @radai-rosenblatt radai-rosenblatt committed with normanmaurer Sep 29, 2016
@@ -28,6 +28,11 @@
public InetAddress address(String inetHost) {
- return entries.get(inetHost.toLowerCase(Locale.ENGLISH));
+ return entries.get(normalize(inetHost));
+ }
+ // package-private for testing purposes
+ String normalize(String inetHost) {
+ return inetHost.toLowerCase(Locale.ENGLISH);
@@ -19,16 +19,15 @@
package io.netty.resolver;
+import org.junit.Assert;
import org.junit.Test;
-import static org.junit.Assert.assertNotNull;
public class DefaultHostsFileEntriesResolverTest {
- public void testLocalhost() {
+ public void testCaseInsensitivity() throws Exception {
DefaultHostsFileEntriesResolver resolver = new DefaultHostsFileEntriesResolver();
- assertNotNull("localhost doesn't resolve", resolver.address("localhost"));
- assertNotNull("LOCALHOST doesn't resolve", resolver.address("LOCALHOST"));
+ //normalized somehow
+ Assert.assertEquals(resolver.normalize("localhost"), resolver.normalize("LOCALHOST"));

0 comments on commit 4e2530c

Please sign in to comment.