[pypy-svn] r78911 - in pypy/branch/fast-forward/pypy/module/_warnings: . test
afa at codespeak.net
afa at codespeak.net
Tue Nov 9 12:04:10 CET 2010
Author: afa
Date: Tue Nov 9 12:04:08 2010
New Revision: 78911
Modified:
pypy/branch/fast-forward/pypy/module/_warnings/interp_warnings.py
pypy/branch/fast-forward/pypy/module/_warnings/test/test_warnings.py
Log:
Fix the lineno returned in a warning message
Modified: pypy/branch/fast-forward/pypy/module/_warnings/interp_warnings.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/_warnings/interp_warnings.py (original)
+++ pypy/branch/fast-forward/pypy/module/_warnings/interp_warnings.py Tue Nov 9 12:04:08 2010
@@ -77,7 +77,7 @@
stacklevel -= 1
if frame:
w_globals = frame.w_globals
- lineno = frame.f_lineno
+ lineno = frame.get_last_lineno()
else:
w_globals = space.sys.w_dict
lineno = 1
Modified: pypy/branch/fast-forward/pypy/module/_warnings/test/test_warnings.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/_warnings/test/test_warnings.py (original)
+++ pypy/branch/fast-forward/pypy/module/_warnings/test/test_warnings.py Tue Nov 9 12:04:08 2010
@@ -18,6 +18,13 @@
_warnings.warn("some message", DeprecationWarning)
_warnings.warn("some message", Warning)
+ def test_lineno(self):
+ import warnings, _warnings, sys
+ with warnings.catch_warnings(record=True) as w:
+ _warnings.warn("some message", Warning)
+ lineno = sys._getframe().f_lineno - 1 # the line above
+ assert w[-1].lineno == lineno
+
def test_warn_explicit(self):
import _warnings
_warnings.warn_explicit("some message", DeprecationWarning,
More information about the Pypy-commit
mailing list