[pywin32-checkins] pywin32/win32/test test_exceptions.py, 1.2.2.3, 1.2.2.4
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Mark H. <mha...@us...> - 2008-10-07 11:35:43
|
Update of /cvsroot/pywin32/pywin32/win32/test In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv22754/win32/test Modified Files: Tag: py3k test_exceptions.py Log Message: merge trunk changes to exception args handling. Index: test_exceptions.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/test/test_exceptions.py,v retrieving revision 1.2.2.3 retrieving revision 1.2.2.4 diff -C2 -d -r1.2.2.3 -r1.2.2.4 *** test_exceptions.py 1 Oct 2008 08:10:11 -0000 1.2.2.3 --- test_exceptions.py 7 Oct 2008 11:35:36 -0000 1.2.2.4 *************** *** 1,3 **** --- 1,4 ---- """Test pywin32's error semantics""" + import sys import unittest import win32api, win32file, pywintypes *************** *** 83,86 **** --- 84,120 ---- self.failUnlessEqual(exc.funcname, 'CloseHandle') + # some tests for 'insane' args. + def testStrangeArgsNone(self): + try: + raise pywintypes.error() + self.fail("Expected exception") + except pywintypes.error, exc: + self.failUnlessEqual(exc.args, ()) + self.failUnlessEqual(exc.winerror, None) + self.failUnlessEqual(exc.funcname, None) + self.failUnlessEqual(exc.strerror, None) + + def testStrangeArgsNotEnough(self): + try: + raise pywintypes.error("foo") + self.fail("Expected exception") + except pywintypes.error, exc: + assert exc.args[0] == "foo" + # 'winerror' always args[0] + self.failUnlessEqual(exc.winerror, "foo") + self.failUnlessEqual(exc.funcname, None) + self.failUnlessEqual(exc.strerror, None) + + def testStrangeArgsTooMany(self): + try: + raise pywintypes.error("foo", "bar", "you", "never", "kn", 0) + self.fail("Expected exception") + except pywintypes.error, exc: + self.failUnlessEqual(exc.args[0], "foo") + self.failUnlessEqual(exc.args[-1], 0) + self.failUnlessEqual(exc.winerror, "foo") + self.failUnlessEqual(exc.funcname, "bar") + self.failUnlessEqual(exc.strerror, "you") + class TestCOMSimple(TestBase): def _getException(self): *************** *** 142,146 **** self.failUnlessEqual(exc.argerror, None) self.failUnlessEqual(exc.excepinfo, None) ! if __name__ == '__main__': unittest.main() --- 176,214 ---- self.failUnlessEqual(exc.argerror, None) self.failUnlessEqual(exc.excepinfo, None) ! ! def testStrangeArgsNone(self): ! try: ! raise pywintypes.com_error() ! self.fail("Expected exception") ! except pywintypes.com_error, exc: ! self.failUnlessEqual(exc.args, ()) ! self.failUnlessEqual(exc.hresult, None) ! self.failUnlessEqual(exc.strerror, None) ! self.failUnlessEqual(exc.argerror, None) ! self.failUnlessEqual(exc.excepinfo, None) ! ! def testStrangeArgsNotEnough(self): ! try: ! raise pywintypes.com_error("foo") ! self.fail("Expected exception") ! except pywintypes.com_error, exc: ! self.failUnlessEqual(exc.args[0], "foo") ! self.failUnlessEqual(exc.hresult, "foo") ! self.failUnlessEqual(exc.strerror, None) ! self.failUnlessEqual(exc.excepinfo, None) ! self.failUnlessEqual(exc.argerror, None) ! ! def testStrangeArgsTooMany(self): ! try: ! raise pywintypes.com_error("foo", "bar", "you", "never", "kn", 0) ! self.fail("Expected exception") ! except pywintypes.com_error, exc: ! self.failUnlessEqual(exc.args[0], "foo") ! self.failUnlessEqual(exc.args[-1], 0) ! self.failUnlessEqual(exc.hresult, "foo") ! self.failUnlessEqual(exc.strerror, "bar") ! self.failUnlessEqual(exc.excepinfo, "you") ! self.failUnlessEqual(exc.argerror, "never") ! if __name__ == '__main__': unittest.main() |