-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathtest_stacktrace.py
More file actions
34 lines (27 loc) · 1.02 KB
/
test_stacktrace.py
File metadata and controls
34 lines (27 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import unittest
import sys
import wypp.stacktrace as stacktrace
from stacktraceTestData import *
import os
class TestReturnTracker(unittest.TestCase):
def setUp(self):
self.original_profile = sys.getprofile()
def tearDown(self):
sys.setprofile(self.original_profile)
def assertReturnFrame(self, tracker: stacktrace.ReturnTracker, line: int):
frame = tracker.getReturnFrame(0)
assert(frame is not None)
self.assertEqual(os.path.basename(frame.filename), 'stacktraceTestData.py')
self.assertEqual(frame.lineno, line)
def test_returnTracker1(self):
tracker = stacktrace.installProfileHook(1)
f1()
self.assertReturnFrame(tracker, f1ReturnLine)
def test_returnTracker2(self):
tracker = stacktrace.installProfileHook(1)
f2()
self.assertReturnFrame(tracker, f2ReturnLine)
def test_returnTracker3(self):
tracker = stacktrace.installProfileHook(1)
f3()
self.assertReturnFrame(tracker, f3ReturnLine)