diff options
Diffstat (limited to 'test_backtrace_parser.py')
-rw-r--r-- | test_backtrace_parser.py | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/test_backtrace_parser.py b/test_backtrace_parser.py index e2d831f..713eadb 100644 --- a/test_backtrace_parser.py +++ b/test_backtrace_parser.py @@ -3,14 +3,16 @@ from backtrace import Backtrace class TestParser(unittest.TestCase): def test_bz677051(self): - text = open('data/rhbz-677051-attachment-478410.txt', 'r').read() - bt = Backtrace(text) + bt = Backtrace.from_text_file('data/rhbz-677051-attachment-478410.txt') thread, frame = bt.get_crash_site() self.assertEquals(thread.index, 1) self.assertEquals(thread.extra, '0xb78516c0 (LWP 17355)') - #self.assertEquals(len(thread.frames), 59) - #self.assertEquals(len(thread.framelist), 59) + self.assertEquals(len(thread.frames), 60) + self.assertEquals(len(thread.framelist), 60) + + # Frame #13 wasn't handled by an earlier version of the parser: + self.assert_(13 in thread.frames) self.assertEquals(frame.index, 0) self.assertEquals(frame.address, 0x4d2ade0a) @@ -24,6 +26,26 @@ class TestParser(unittest.TestCase): " base = <optimized out>\n" " dict = <optimized out>\n" " h = <optimized out>") + + + + def test_python_backtrace(self): + bt = Backtrace.from_text_file('data/rhbz-677051-attachment-478410.txt') + + pybt = bt.as_python_backtrace(False) + + self.assertEquals(pybt, + '#4 /usr/lib/python2.7/site-packages/yum/sqlitesack.py:1362 searchPrco\n' + '#9 /usr/lib/python2.7/site-packages/yum/sqlitesack.py:46 newFunc\n' + '#13 /usr/lib/python2.7/site-packages/yum/sqlitesack.py:1400 searchProvides\n' + '#23 /usr/lib/python2.7/site-packages/yum/packageSack.py:598 _computeAggregateListResult\n' + '#27 /usr/lib/python2.7/site-packages/yum/packageSack.py:426 searchProvides\n' + '#30 /usr/lib/python2.7/site-packages/yum/__init__.py:2990 returnPackagesByDep\n' + '#33 /usr/lib/python2.7/site-packages/yum/__init__.py:3313 install\n' + '#37 /usr/sbin/yum-complete-transaction:199 main\n' + '#40 /usr/sbin/yum-complete-transaction:118 __init__\n' + '#51 /usr/sbin/yum-complete-transaction:256 <module>\n') + if __name__ == '__main__': unittest.main() |