From: Ben Darnell Date: Mon, 30 Dec 2013 00:45:34 +0000 (-0500) Subject: Use a more reliable method to generate resolver errors. X-Git-Tag: v3.2.0b1~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4dfb519580bc570c03549515ec3e3ecc5a67df15;p=thirdparty%2Ftornado.git Use a more reliable method to generate resolver errors. On some platforms even getaddrinfo is fooled by the fake NXDOMAIN results. --- diff --git a/tornado/test/netutil_test.py b/tornado/test/netutil_test.py index 27f57fb2f..ea8d51a53 100644 --- a/tornado/test/netutil_test.py +++ b/tornado/test/netutil_test.py @@ -36,6 +36,8 @@ class _ResolverTestMixin(object): # Some DNS-hijacking ISPs (e.g. Time Warner) return non-empty results # with an NXDOMAIN status code. Most resolvers treat this as an error; # C-ares returns the results, making the "bad_host" tests unreliable. + # C-ares will try to resolve even malformed names, such as the + # name with spaces used in this test. if self.resolver.__class__.__name__ == 'CaresResolver': self.skipTest("CaresResolver doesn't recognize fake NXDOMAIN") @@ -58,7 +60,7 @@ class _ResolverTestMixin(object): return True # Halt propagation. with ExceptionStackContext(handler): - self.resolver.resolve('doesntexist', 80, callback=self.stop) + self.resolver.resolve('an invalid domain', 80, callback=self.stop) result = self.wait() self.assertIsInstance(result, Exception) @@ -67,7 +69,7 @@ class _ResolverTestMixin(object): def test_future_interface_bad_host(self): self.skipOnCares() with self.assertRaises(Exception): - yield self.resolver.resolve('doesntexist', 80, + yield self.resolver.resolve('an invalid domain', 80, socket.AF_UNSPEC)