[pypy-svn] r4771 - in pypy/trunk/src/pypy/module: . test test/impsubdir test/impsubdir/pkg
pedronis at codespeak.net
pedronis at codespeak.net
Mon May 31 18:09:35 CEST 2004
Author: pedronis
Date: Mon May 31 18:09:33 2004
New Revision: 4771
Modified:
pypy/trunk/src/pypy/module/__builtin__interp.py
pypy/trunk/src/pypy/module/test/impsubdir/a.py
pypy/trunk/src/pypy/module/test/impsubdir/pkg/a.py
pypy/trunk/src/pypy/module/test/test_import.py
Log:
factored out try_geattr
test for relative import
Modified: pypy/trunk/src/pypy/module/__builtin__interp.py
==============================================================================
--- pypy/trunk/src/pypy/module/__builtin__interp.py (original)
+++ pypy/trunk/src/pypy/module/__builtin__interp.py Mon May 31 18:09:33 2004
@@ -48,6 +48,14 @@
else:
return None
+def try_getattr(w_obj,w_name):
+ try:
+ return space.getattr(w_obj, w_name)
+ except OperationError, e:
+ if not e.match(space, space.w_AttributeError):
+ raise
+ return None
+
def check_sys_modules(w_modulename):
try:
w_mod = space.getitem(space.sys.w_modules, w_modulename)
@@ -96,12 +104,8 @@
if first is None:
first = w_mod
prefix.append(part)
- try:
- w_path = space.getattr(w_mod, w('__path__'))
- except OperationError, e:
- if not e.match(space, space.w_AttributeError):
- raise
- w_path = None
+ w_path = try_getattr(w_mod,w('__path__'))
+
if w_fromlist is not None and space.is_true(w_fromlist):
if w_path is not None:
Modified: pypy/trunk/src/pypy/module/test/impsubdir/a.py
==============================================================================
--- pypy/trunk/src/pypy/module/test/impsubdir/a.py (original)
+++ pypy/trunk/src/pypy/module/test/impsubdir/a.py Mon May 31 18:09:33 2004
@@ -1,2 +1,3 @@
# a.py
imamodule = 1
+inpackage = 0
Modified: pypy/trunk/src/pypy/module/test/impsubdir/pkg/a.py
==============================================================================
--- pypy/trunk/src/pypy/module/test/impsubdir/pkg/a.py (original)
+++ pypy/trunk/src/pypy/module/test/impsubdir/pkg/a.py Mon May 31 18:09:33 2004
@@ -1,2 +1,3 @@
# a.py
imamodule = 1
+inpackage = 1
Modified: pypy/trunk/src/pypy/module/test/test_import.py
==============================================================================
--- pypy/trunk/src/pypy/module/test/test_import.py (original)
+++ pypy/trunk/src/pypy/module/test/test_import.py Mon May 31 18:09:33 2004
@@ -74,5 +74,11 @@
aa = sys.modules.get('pkg.a')
self.assertEquals(a, aa)
+ def test_import_relative(self):
+ import sys
+ sys.path.append('impsubdir')
+ from pkg import relative_a
+ self.assertEquals(relative_a.a.inpackage,1)
+
if __name__ == '__main__':
testit.main()
More information about the Pypy-commit
mailing list