diff --git a/twisted/python/failure.py b/twisted/python/failure.py
index bf928e0..d8bb078 100644
|
a
|
b
|
|
| 102 | 102 | class _Frame(object): |
| 103 | 103 | """ |
| 104 | 104 | A fake frame object, used by L{_Traceback}. |
| | 105 | |
| | 106 | @ivar f_code: fake L{code<types.CodeType>} object |
| | 107 | @ivar f_globals: fake f_globals dictionary (usually empty) |
| | 108 | @ivar f_locals: fake f_locals dictionary (usually empty) |
| 105 | 109 | """ |
| 106 | 110 | |
| 107 | 111 | def __init__(self, name, filename): |
| | 112 | """ |
| | 113 | @param name: method/function name for this frame. |
| | 114 | @type name: C{str} |
| | 115 | @param filename: filename for this frame. |
| | 116 | @type name: C{str} |
| | 117 | """ |
| | 118 | |
| 108 | 119 | self.f_code = _Code(name, filename) |
| 109 | 120 | self.f_globals = {} |
| | 121 | self.f_locals = {} |
| 110 | 122 | |
| 111 | 123 | |
| 112 | 124 | class _Code(object): |
diff --git a/twisted/test/test_failure.py b/twisted/test/test_failure.py
index 7dc0ab1..c623bac 100644
|
a
|
b
|
|
| 314 | 314 | ('filename.py', 235, 'method2', None)]) |
| 315 | 315 | |
| 316 | 316 | |
| | 317 | class TestFrameAttributes(unittest.TestCase): |
| | 318 | """ |
| | 319 | _Frame objects should possess some basic attributes that qualify them as |
| | 320 | fake python Frame objects. |
| | 321 | """ |
| | 322 | |
| | 323 | def test_fakeFrameAttributes(self): |
| | 324 | """ |
| | 325 | basic _Frame attributes faking. |
| | 326 | """ |
| | 327 | frame = failure._Frame("dummyname", "dummyfilename") |
| | 328 | self.assert_(isinstance(frame.f_globals, dict)) |
| | 329 | self.assert_(isinstance(frame.f_locals, dict)) |
| | 330 | self.assert_(isinstance(frame.f_code, failure._Code)) |
| | 331 | |
| | 332 | |
| 317 | 333 | if sys.version_info[:2] >= (2, 5): |
| 318 | 334 | from twisted.test.generator_failure_tests import TwoPointFiveFailureTests |
diff --git a/twisted/topfiles/4045.feature b/twisted/topfiles/4045.feature
new file mode 100644
index 0000000..bcbe81e
|
a
|
b
|
|
| | 1 | twisted.python.failure._Frame objects now support fake f_locals attribute. |