[pypy-svn] r78944 - in pypy/branch/fast-forward/pypy/module/__builtin__: . test
afa at codespeak.net
afa at codespeak.net
Tue Nov 9 22:43:05 CET 2010
Author: afa
Date: Tue Nov 9 22:43:04 2010
New Revision: 78944
Modified:
pypy/branch/fast-forward/pypy/module/__builtin__/app_inspect.py
pypy/branch/fast-forward/pypy/module/__builtin__/test/test_builtin.py
Log:
dir() is supposed to fail on broken modules with invalid __dict__
Modified: pypy/branch/fast-forward/pypy/module/__builtin__/app_inspect.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/__builtin__/app_inspect.py (original)
+++ pypy/branch/fast-forward/pypy/module/__builtin__/app_inspect.py Tue Nov 9 22:43:04 2010
@@ -64,7 +64,7 @@
if isinstance(obj, types.ModuleType):
try:
- result = list(obj.__dict__.keys())
+ result = list(obj.__dict__)
result.sort()
return result
except AttributeError:
Modified: pypy/branch/fast-forward/pypy/module/__builtin__/test/test_builtin.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/__builtin__/test/test_builtin.py (original)
+++ pypy/branch/fast-forward/pypy/module/__builtin__/test/test_builtin.py Tue Nov 9 22:43:04 2010
@@ -104,6 +104,12 @@
return 'a' # not a list!
raises(TypeError, eval, "dir()", {}, C())
+ def test_dir_broken_module(self):
+ import types
+ class Foo(types.ModuleType):
+ __dict__ = 8
+ raises(TypeError, dir, Foo("foo"))
+
def test_format(self):
assert format(4) == "4"
assert format(10, "o") == "12"
More information about the Pypy-commit
mailing list