[py-svn] r33171 - in py/dist/py/code: . testing
arigo at codespeak.net
arigo at codespeak.net
Wed Oct 11 18:00:50 CEST 2006
Author: arigo
Date: Wed Oct 11 18:00:46 2006
New Revision: 33171
Modified:
py/dist/py/code/testing/test_excinfo.py
py/dist/py/code/traceback2.py
Log:
Test and fix for a case where recursionindex() was confused.
Modified: py/dist/py/code/testing/test_excinfo.py
==============================================================================
--- py/dist/py/code/testing/test_excinfo.py (original)
+++ py/dist/py/code/testing/test_excinfo.py Wed Oct 11 18:00:46 2006
@@ -111,6 +111,23 @@
recindex = traceback.recursionindex()
assert recindex == 3
+ def test_traceback_no_recursion_index(self):
+ def do_stuff():
+ raise RuntimeError
+ def reraise_me():
+ import sys
+ exc, val, tb = sys.exc_info()
+ raise exc, val, tb
+ def f(n):
+ try:
+ do_stuff()
+ except:
+ reraise_me()
+ excinfo = py.test.raises(RuntimeError, f, 8)
+ traceback = excinfo.traceback
+ recindex = traceback.recursionindex()
+ assert recindex is None
+
def test_traceback_getcrashentry(self):
def i():
__tracebackhide__ = True
Modified: py/dist/py/code/traceback2.py
==============================================================================
--- py/dist/py/code/traceback2.py (original)
+++ py/dist/py/code/traceback2.py Wed Oct 11 18:00:46 2006
@@ -118,7 +118,7 @@
def recursionindex(self):
cache = {}
for i, entry in py.builtin.enumerate(self):
- key = entry.frame.code.path, entry.frame.lineno
+ key = entry.frame.code.path, entry.lineno
#print "checking for recursion at", key
l = cache.setdefault(key, [])
if l:
More information about the pytest-commit
mailing list