From ce0f16df1eef98141ba4c71399a793d0156ef10d Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 12 Feb 2007 14:29:18 -0500 Subject: handle stdout lines with no spaces in them from child processes parameterize the stdout stream so that tests don't need to clobber sys.stdout (which interfers with debugging) --- python/subunit/tests/test_test_protocol.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'python/subunit/tests/test_test_protocol.py') diff --git a/python/subunit/tests/test_test_protocol.py b/python/subunit/tests/test_test_protocol.py index 9950f8a..ba33665 100644 --- a/python/subunit/tests/test_test_protocol.py +++ b/python/subunit/tests/test_test_protocol.py @@ -110,6 +110,7 @@ class TestMockTestProtocolServer(unittest.TestCase): self.assertEqual(protocol.success_calls, []) self.assertEqual(protocol.start_calls, []) + class TestTestImports(unittest.TestCase): def test_imports(self): @@ -177,15 +178,10 @@ class TestTestProtocolServerPassThrough(unittest.TestCase): def setUp(self): from StringIO import StringIO - self.real_stdout = sys.stdout self.stdout = StringIO() - sys.stdout = self.stdout self.test = subunit.RemotedTestCase("old mcdonald") self.client = MockTestProtocolServerClient() - self.protocol = subunit.TestProtocolServer(self.client) - - def tearDown(self): - sys.stdout = self.real_stdout + self.protocol = subunit.TestProtocolServer(self.client, self.stdout) def keywords_before_test(self): self.protocol.lineReceived("failure a\n") @@ -307,6 +303,15 @@ class TestTestProtocolServerPassThrough(unittest.TestCase): self.assertEqual(self.client.error_calls, []) self.assertEqual(self.client.success_calls, []) + def test_stdout_passthrough(self): + """ + Verify that lines received which cannot be interpreted as any + protocol action are passed through to sys.stdout. + """ + bytes = "randombytes\n" + self.protocol.lineReceived(bytes) + self.assertEqual(self.stdout.getvalue(), bytes) + class TestTestProtocolServerLostConnection(unittest.TestCase): -- cgit v1.2.1