[pywin32-checkins] pywin32/com/win32com/test errorSemantics.py,1.5,1.6
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
|
From: Mark H. <mha...@us...> - 2004-09-07 02:11:00
|
Update of /cvsroot/pywin32/pywin32/com/win32com/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8985 Modified Files: errorSemantics.py Log Message: Test the new ability to send output to a logging module object. Index: errorSemantics.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/test/errorSemantics.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** errorSemantics.py 10 Nov 2003 00:49:29 -0000 1.5 --- errorSemantics.py 7 Sep 2004 02:10:49 -0000 1.6 *************** *** 96,101 **** --- 96,147 ---- raise error("Could not find a traceback in stderr: %r" % (cap.get_captured(),)) + try: + import logging + except ImportError: + logging = None + if logging is not None: + import win32com + class TestLogHandler(logging.Handler): + def __init__(self): + self.num_emits = 0 + logging.Handler.__init__(self) + def emit(self, record): + self.num_emits += 1 + return + print "--- record start" + print self.format(record) + print "--- record end" + + def testLogger(): + assert not hasattr(win32com, "logger") + handler = TestLogHandler() + formatter = logging.Formatter('%(message)s') + handler.setFormatter(formatter) + log = logging.getLogger("win32com_test") + log.addHandler(handler) + win32com.logger = log + # Now throw some exceptions! + # Native interfaces + com_server = wrap(TestServer(), pythoncom.IID_IStream) + try: + com_server.Commit(0) + raise RuntimeError, "should have failed" + except pythoncom.error: + pass + assert handler.num_emits == 1, handler.num_emits + handler.num_emits = 0 # reset + + com_server = Dispatch(wrap(TestServer())) + try: + com_server.Commit(0) + raise RuntimeError, "should have failed" + except pythoncom.error: + pass + assert handler.num_emits == 1, handler.num_emits + if __name__=='__main__': test() + if logging is not None: + testLogger() from util import CheckClean CheckClean() |