[py-svn] r36670 - in py/dist/py/apigen/source: . testing
hpk at codespeak.net
hpk at codespeak.net
Sat Jan 13 16:35:31 CET 2007
Author: hpk
Date: Sat Jan 13 16:35:29 2007
New Revision: 36670
Modified:
py/dist/py/apigen/source/browser.py
py/dist/py/apigen/source/testing/test_browser.py
Log:
do "bare except" in the right way
Modified: py/dist/py/apigen/source/browser.py
==============================================================================
--- py/dist/py/apigen/source/browser.py (original)
+++ py/dist/py/apigen/source/browser.py Sat Jan 13 16:35:29 2007
@@ -131,9 +131,13 @@
# we check all the elements, if they're really there
try:
mod = path.pyimport()
- update_mod_dict(mod, mod_dict)
- # XXX brrr... importing can result in strange errors, though...
- except: # (ImportError, AttributeError):
+ except (KeyboardInterrupt, SystemExit):
+ raise
+ except: # catch all other import problems generically
+ # XXX some import problem: we probably should not
+ # pretend to have an empty module
pass
+ else:
+ update_mod_dict(mod, mod_dict)
return Module(path, mod_dict)
Modified: py/dist/py/apigen/source/testing/test_browser.py
==============================================================================
--- py/dist/py/apigen/source/testing/test_browser.py (original)
+++ py/dist/py/apigen/source/testing/test_browser.py Sat Jan 13 16:35:29 2007
@@ -62,3 +62,19 @@
"""))
mod = parse_path(tmp.join("c.py"))
# if it does not rise it's ok for now
+ #
+
+def test_importing_goes_wrong():
+ tmp = py.test.ensuretemp("sourcebrowserimport")
+ tmp.ensure("x.py").write(py.code.Source("""
+ import aslkdjaslkdjasdl
+ """))
+ mod = parse_path(tmp.join("x.py"))
+
+ tmp.ensure("y.py").write(py.code.Source("""
+ raise KeyboardInterrupt
+ """))
+ py.test.raises(KeyboardInterrupt, 'parse_path(tmp.join("y.py"))')
+
+ # if it does not rise it's ok for now
+ #
More information about the pytest-commit
mailing list