Explorar o código

change tests instead of changing tompat module for coverage

Chris McDonough %!s(int64=11) %!d(string=hai) anos
pai
achega
5dc9a697e9
Modificáronse 2 ficheiros con 20 adicións e 10 borrados
  1. 1 1
      supervisor/compat.py
  2. 19 9
      supervisor/tests/test_http_client.py

+ 1 - 1
supervisor/compat.py

@@ -25,7 +25,7 @@ else: # pragma: no cover
     reduce = reduce
 
 def print_function(*args,**kwargs): # pragma: no cover
-    kwargs.get('file', sys.stdout).write(as_string(' ').join(as_string(i) for i in args)+kwargs.get('end','\n'))
+    kwargs.get('file', sys.stdout).write(' '.join(i for i in args)+kwargs.get('end','\n'))
 
 def total_ordering(cls): # pragma: no cover
     """Class decorator that fills in missing ordering methods"""

+ 19 - 9
supervisor/tests/test_http_client.py

@@ -1,4 +1,3 @@
-import io
 import sys
 import unittest
 
@@ -10,6 +9,18 @@ class ListenerTests(unittest.TestCase):
     def _makeOne(self):
         return self._getTargetClass()()
 
+    def _makeFakeStdout(self):
+        class Stdout(object):
+            def __init__(self):
+                self.things = []
+                self.flushed = False
+            def write(self, thing):
+                self.things.append(thing)
+            def flush(self):
+                self.flushed = True
+        stdout = Stdout()
+        return stdout
+
     def test_status(self):
         inst = self._makeOne()
         self.assertEqual(inst.status(None, None), None)
@@ -18,10 +29,10 @@ class ListenerTests(unittest.TestCase):
         inst = self._makeOne()
         try:
             old_stdout = sys.stdout
-            f = io.StringIO()
-            sys.stdout = f
+            stdout = self._makeFakeStdout()
+            sys.stdout = stdout
             self.assertEqual(inst.error('url', 'error'), None)
-            self.assertEqual(f.getvalue(), 'url error\n')
+            self.assertEqual(stdout.things, ['url error\n'])
         finally:
             sys.stdout = old_stdout
         
@@ -34,14 +45,13 @@ class ListenerTests(unittest.TestCase):
         self.assertEqual(inst.done(None), None)
 
     def test_feed(self):
-        from supervisor.compat import as_string
         inst = self._makeOne()
         try:
             old_stdout = sys.stdout
-            f = io.StringIO()
-            sys.stdout = f
-            inst.feed(as_string('url'), as_string('data'))
-            self.assertEqual(f.getvalue(), 'data')
+            stdout = self._makeFakeStdout()
+            sys.stdout = stdout
+            inst.feed('url', 'data')
+            self.assertEqual(stdout.things, ['data'])
         finally:
             sys.stdout = old_stdout