# HG changeset patch # User catherine@dellzilla # Date 1224873143 14400 # Node ID 130340609e195ea3e910b34da85379616d7ffcf5 # Parent bd91925d813c62eecc9ccfb955e60fb5b1a7fd34 testing beginning to work? diff -r bd91925d813c -r 130340609e19 cmd2/cmd2.py --- a/cmd2/cmd2.py Fri Oct 24 13:29:22 2008 -0400 +++ b/cmd2/cmd2.py Fri Oct 24 14:32:23 2008 -0400 @@ -688,19 +688,15 @@ class OutputTrap(Borg): '''Instantiate an OutputTrap to divert/capture ALL stdout output. For use in unit testing. Call `tearDown()` to return to normal output.''' - old_stdout = sys.stdout def __init__(self): - #self.old_stdout = sys.stdout + self.old_stdout = sys.stdout self.trap = tempfile.TemporaryFile() sys.stdout = self.trap - def dump(self): - 'Reads trapped stdout output.' + def read(self): self.trap.seek(0) result = self.trap.read() - self.trap.close() - self.trap = tempfile.TemporaryFile() - sys.stdout = self.trap - return result + self.trap.truncate(0) + return result.strip('\x00') def tearDown(self): sys.stdout = self.old_stdout @@ -744,14 +740,14 @@ transcriptFileName = '' def setUp(self): if self.CmdApp: + self.outputTrap = OutputTrap() self.cmdapp = self.CmdApp() - self.outputTrap = OutputTrap() self.transcriptReader = TranscriptReader(self.cmdapp, self.transcriptFileName) def testall(self): if self.CmdApp: for (cmdInput, lineNum) in self.transcriptReader.inputGenerator(): self.cmdapp.onecmd(cmdInput) - result = self.outputTrap.dump() + result = self.outputTrap.read() expected = self.transcriptReader.nextExpected() self.assertEqual(result.strip(), expected.strip(), '\nFile %s, line %d\nCommand was:\n%s\nExpected:\n%s\nGot:\n%s\n' %