]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Fix tests on windows
authorBen Darnell <ben@bendarnell.com>
Tue, 28 Aug 2012 19:24:55 +0000 (15:24 -0400)
committerBen Darnell <ben@bendarnell.com>
Tue, 28 Aug 2012 19:24:55 +0000 (15:24 -0400)
tornado/test/options_test.py
tornado/test/simple_httpclient_test.py

index 29ce177ff7e799b06c66bda99c48f84cec3c86b3..72be4459c1a5902c8365495ac9c078533604d14c 100644 (file)
@@ -63,6 +63,7 @@ class LogFormatterTest(unittest.TestCase):
         self.logger.addHandler(self.handler)
 
     def tearDown(self):
+        self.handler.close()
         os.unlink(self.filename)
         os.rmdir(self.tempdir)
 
index a9b541ea7f8ce0a2ddf231159f7c4fd07d594f32..9c5ea89a3bbe2a541a8995916a51fadde8f09fbf 100644 (file)
@@ -2,10 +2,13 @@ from __future__ import absolute_import, division, with_statement
 
 import collections
 from contextlib import closing
+import errno
 import gzip
 import logging
+import os
 import re
 import socket
+import sys
 
 from tornado.httpclient import AsyncHTTPClient
 from tornado.httputil import HTTPHeaders
@@ -284,10 +287,20 @@ class SimpleHTTPClientTestCase(AsyncHTTPTestCase, LogTrapTestCase):
         self.assertTrue(host_re.match(response.body), response.body)
 
     def test_connection_refused(self):
-        self.http_client.fetch("http://localhost:1/", self.stop)
+        port = get_unused_port()
+        self.http_client.fetch("http://localhost:%d/" % port, self.stop)
         response = self.wait()
         self.assertEqual(599, response.code)
-        self.assertTrue("Connection refused" in str(response.error))
+
+        if sys.platform != 'cygwin':
+            # cygwin returns EPERM instead of ECONNREFUSED here
+            self.assertTrue(str(errno.ECONNREFUSED) in str(response.error),
+                            response.error)
+            # This is usually "Connection refused".
+            # On windows, strerror is broken and returns "Unknown error".
+            expected_message = os.strerror(errno.ECONNREFUSED)
+            self.assertTrue(expected_message in str(response.error),
+                            response.error)
 
 
 class CreateAsyncHTTPClientTestCase(AsyncTestCase, LogTrapTestCase):