Skip to content

Commit

Permalink
change tests instead of changing tompat module for coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
mcdonc committed Apr 18, 2014
1 parent 8caf44b commit 5dc9a69
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 10 deletions.
2 changes: 1 addition & 1 deletion supervisor/compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def as_string(s): return s if isinstance(s, unicode) else s.decode('utf-8')
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"""
Expand Down
28 changes: 19 additions & 9 deletions supervisor/tests/test_http_client.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import io
import sys
import unittest

Expand All @@ -10,6 +9,18 @@ def _getTargetClass(self):
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)
Expand All @@ -18,10 +29,10 @@ def test_error(self):
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

Expand All @@ -34,14 +45,13 @@ def test_done(self):
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

Expand Down

0 comments on commit 5dc9a69

Please sign in to comment.