# HG changeset patch # User catherine@Elli.myhome.westell.com # Date 1224730538 14400 # Node ID 35ed0e0c63d980cc59991d6b08a2e800585e49cc # Parent d73915d6d85274cdc1c432b8a70962581a2036a3 oops, caught html rendering error diff -r d73915d6d852 -r 35ed0e0c63d9 sqlpython/test_sqlpyPlus.py --- a/sqlpython/test_sqlpyPlus.py Wed Oct 22 17:47:52 2008 -0400 +++ b/sqlpython/test_sqlpyPlus.py Wed Oct 22 22:55:38 2008 -0400 @@ -1,30 +1,28 @@ -import unittest, sys, tempfile +import unittest, sys, tempfile, re from sqlpyPlus import * class TestSqlPyPlus(unittest.TestCase): + transcriptReader = re.compile('testdata@orcl> (.*?)\n\n(.*?)(?=testdata@orcl>)', re.DOTALL) def setUp(self): + transcriptFile = open('test_sqlpyPlus.txt') + self.transcript = transcriptFile.read() + transcriptFile.close() + self.directives = self.transcriptReader.finditer(self.transcript) self.testsession = sqlpyPlus() self.testsession.onecmd('connect testdata/testdata@orcl') def assertOutput(self, commandtext, expected): - oldStdOut = sys.stdout - oldStdErr = sys.stderr - tempoutput = tempfile.TemporaryFile() - temperr = tempfile.TemporaryFile() - sys.stdout = tempoutput - sys.stderr = temperr self.testsession.onecmd(commandtext) - tempoutput.seek(0) - result = tempoutput.read() + temperr.read() + falseStdOut.seek(0) + result = falseStdOut.read() self.assertEqual(expected, result) - sys.stdout = oldStdOut - sys.stderr = oldStdErr - def testselect(self): - self.assertOutput('select * from species;', ''' - blah - ''') - self.assertOutput + def testall(self): + for directive in self.directives: + (command, result) = directive.groups() + self.assertOutput(command, result) def tearDown(self): pass +falseStdOut = tempfile.TemporaryFile() trueStdOut = sys.stdout +sys.stdout = falseStdOut unittest.main() sys.stdout = trueStdOut \ No newline at end of file