MCPcopy Index your code
hub / github.com/python/cpython / test_stack

Method test_stack

Lib/test/test_inspect/test_inspect.py:547–573  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

545 self.istest(inspect.isframe, 'mod.fr')
546
547 def test_stack(self):
548 self.assertTrue(len(mod.st) >= 5)
549 frame1, frame2, frame3, frame4, *_ = mod.st
550 frameinfo = revise(*frame1[1:])
551 self.assertEqual(frameinfo,
552 (modfile, 16, 'eggs', [' st = inspect.stack()\n'], 0))
553 self.assertEqual(frame1.positions, dis.Positions(16, 16, 9, 24))
554 frameinfo = revise(*frame2[1:])
555 self.assertEqual(frameinfo,
556 (modfile, 9, 'spam', [' eggs(b + d, c + f)\n'], 0))
557 self.assertEqual(frame2.positions, dis.Positions(9, 9, 4, 22))
558 frameinfo = revise(*frame3[1:])
559 self.assertEqual(frameinfo,
560 (modfile, 43, 'argue', [' spam(a, b, c)\n'], 0))
561 self.assertEqual(frame3.positions, dis.Positions(43, 43, 12, 25))
562 frameinfo = revise(*frame4[1:])
563 self.assertEqual(frameinfo,
564 (modfile, 39, 'abuse', [' self.argue(a, b, c)\n'], 0))
565 self.assertEqual(frame4.positions, dis.Positions(39, 39, 8, 27))
566 # Test named tuple fields
567 record = mod.st[0]
568 self.assertIs(record.frame, mod.fr)
569 self.assertEqual(record.lineno, 16)
570 self.assertEqual(record.filename, mod.__file__)
571 self.assertEqual(record.function, 'eggs')
572 self.assertIn('inspect.stack()', record.code_context[0])
573 self.assertEqual(record.index, 0)
574
575 def test_trace(self):
576 self.assertEqual(len(git.tr), 3)

Callers

nothing calls this directly

Calls 5

reviseFunction · 0.85
assertTrueMethod · 0.80
assertInMethod · 0.80
assertEqualMethod · 0.45
assertIsMethod · 0.45

Tested by

no test coverage detected