[py-svn] r30468 - in py/dist/py: . builtin builtin/testing
arigo at codespeak.net
arigo at codespeak.net
Mon Jul 24 18:24:23 CEST 2006
Author: arigo
Date: Mon Jul 24 18:24:21 2006
New Revision: 30468
Added:
py/dist/py/builtin/exception.py (contents, props changed)
py/dist/py/builtin/testing/test_exception.py (contents, props changed)
Modified:
py/dist/py/__init__.py
py/dist/py/initpkg.py
Log:
Added py.builtin.BaseException, which is either BaseException (in 2.5)
or just Exception (in 2.4).
Modified: py/dist/py/__init__.py
==============================================================================
--- py/dist/py/__init__.py (original)
+++ py/dist/py/__init__.py Mon Jul 24 18:24:21 2006
@@ -86,6 +86,7 @@
# backports and additions of builtins
'builtin.enumerate' : ('./builtin/enumerate.py', 'enumerate'),
'builtin.reversed' : ('./builtin/reversed.py', 'reversed'),
+ 'builtin.BaseException' : ('./builtin/exception.py', 'BaseException'),
# gateways into remote contexts
'execnet.SocketGateway' : ('./execnet/register.py', 'SocketGateway'),
Added: py/dist/py/builtin/exception.py
==============================================================================
--- (empty file)
+++ py/dist/py/builtin/exception.py Mon Jul 24 18:24:21 2006
@@ -0,0 +1,4 @@
+try:
+ BaseException = BaseException
+except NameError:
+ BaseException = Exception
Added: py/dist/py/builtin/testing/test_exception.py
==============================================================================
--- (empty file)
+++ py/dist/py/builtin/testing/test_exception.py Mon Jul 24 18:24:21 2006
@@ -0,0 +1,13 @@
+import py
+
+def test_BaseException():
+ assert issubclass(IndexError, py.builtin.BaseException)
+ assert issubclass(Exception, py.builtin.BaseException)
+ assert issubclass(KeyboardInterrupt, py.builtin.BaseException)
+
+ class MyRandomClass(object):
+ pass
+ assert not issubclass(MyRandomClass, py.builtin.BaseException)
+
+ assert py.builtin.BaseException.__module__ == 'exceptions'
+ assert Exception.__name__ == 'Exception'
Modified: py/dist/py/initpkg.py
==============================================================================
--- py/dist/py/initpkg.py (original)
+++ py/dist/py/initpkg.py Mon Jul 24 18:24:21 2006
@@ -186,6 +186,10 @@
def _fixinspection(self, result, name):
# modify some attrs to make a class appear at export level
if hasattr(result, '__module__'):
+ if not result.__module__.startswith('py.__'):
+ return # don't change __module__ nor __name__ for classes
+ # that the py lib re-exports from somewhere else,
+ # e.g. py.builtin.BaseException
try:
setattr(result, '__module__', self.__name__)
except (AttributeError, TypeError):
More information about the pytest-commit
mailing list