[pywin32-checkins] pywin32/com/win32com/test testStreams.py, 1.5, 1.6 util.py, 1.8, 1.9
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Mark H. <mha...@us...> - 2007-08-31 02:08:15
|
Update of /cvsroot/pywin32/pywin32/com/win32com/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11408 Modified Files: testStreams.py util.py Log Message: Hide error messages generated by the test suite (and better, actually check that the messages were generated and that they were pythoncom errors) Index: testStreams.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/test/testStreams.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** testStreams.py 3 Jul 2007 21:10:26 -0000 1.5 --- testStreams.py 31 Aug 2007 02:08:14 -0000 1.6 *************** *** 108,116 **** self.assertEqual(s.data, mydata) ## check for buffer overflow in Read method badstream = BadStream('Check for buffer overflow') badstream2 = win32com.server.util.wrap(badstream, pythoncom.IID_IStream) self.assertRaises(pythoncom.com_error, badstream2.Read, 10) ! if __name__=='__main__': unittest.main() --- 108,123 ---- self.assertEqual(s.data, mydata) + # setup a test logger to capture tracebacks etc. + records, old_log = win32com.test.util.setup_test_logger() ## check for buffer overflow in Read method badstream = BadStream('Check for buffer overflow') badstream2 = win32com.server.util.wrap(badstream, pythoncom.IID_IStream) self.assertRaises(pythoncom.com_error, badstream2.Read, 10) ! win32com.test.util.restore_test_logger(old_log) ! # expecting 2 pythoncom errors to have been raised by the gateways. ! self.assertEqual(len(records), 2) ! self.failUnless(records[0].msg.startswith('pythoncom error')) ! self.failUnless(records[1].msg.startswith('pythoncom error')) ! if __name__=='__main__': unittest.main() Index: util.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/test/util.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** util.py 24 May 2007 05:33:26 -0000 1.8 --- util.py 31 Aug 2007 02:08:14 -0000 1.9 *************** *** 8,11 **** --- 8,13 ---- import cStringIO as StringIO from pythoncom import _GetInterfaceCount, _GetGatewayCount + import win32com + import logging def CheckClean(): *************** *** 174,177 **** --- 176,201 ---- return test + # Utilities to set the win32com logger to something what just captures + # records written and doesn't print them. + class LogHandler(logging.Handler): + def __init__(self): + self.emitted = [] + logging.Handler.__init__(self) + def emit(self, record): + self.emitted.append(record) + + def setup_test_logger(): + old_log = getattr(win32com, "logger", None) + win32com.logger = logging.Logger('test') + handler = LogHandler() + win32com.logger.addHandler(handler) + return handler.emitted, old_log + + def restore_test_logger(prev_logger): + if prev_logger is None: + del win32com.logger + else: + win32com.logger = prev_logger + # We used to override some of this (and may later!) TestCase = unittest.TestCase |