[py-dev] Import errors
holger krekel
hpk at trillke.net
Sat Apr 23 12:40:15 CEST 2005
On Fri, Apr 22, 2005 at 20:45 -0500, Ian Bicking wrote:
> >Could you post one of the offending tracebacks?
>
> To repeat:
>
> $ svn co http://codespeak.net/svn/user/ianb/py_test_import_failure
> A py_test_import_failure/import_fails.py
> A py_test_import_failure/test_import_fail.py
> Checked out revision 11048.
> $ cd py_test_import_failure/
> py_test_import_failure$ py.test
> inserting into sys.path: /home/ianb/py/dist
> ============================ test process starts
> ============================
> testing-mode: inprocess
> executable: /usr/bin/python (2.3.5-final-0)
>
> py_test_import_failure/test_import_fail.py[-1] F
> _____________________________________________________________________________
>
> def test_this():
> E assert import_fails.a == 1
> > AttributeError: 'module' object has no attribute 'a'
>
> [/home/ianb/t/py_test_import_failure/test_import_fail.py:4]
> [modulepath: test_this]
> _____________________________________________________________________________
> ================= tests finished: 1 failed in 0.02 seconds =================
OK, this one is actually related to a different problem,
namely that the "[]" number in:
py_test_import_failure/test_import_fail.py[-1] F
it basically means that we try early to look forward to determine
the number of tests. This is where the import fails.
Later when the module is really run for error reporting
the imports don't fail anymore (at least on python <2.4).
Funny, that our custom import hook didn't have this problem
because it could emulate python2.4 behaviour (deleting
a failed import from sys.modules recursively). There
are many paths that lead to hell starting from a simple
import.
Anyway, i fixed py.test to a) get around the problem
and b) report a nice traceback. Thanks for pointing
it out and providing an example! Actually i named
the test that i added after you :-)
cheers,
holger
More information about the Pytest-dev
mailing list