]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_cprofile.py
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / test / test_cprofile.py
CommitLineData
4710c53d 1"""Test suite for the cProfile module."""\r
2\r
3import sys\r
4from test.test_support import run_unittest, TESTFN, unlink\r
5\r
6# rip off all interesting stuff from test_profile\r
7import cProfile\r
8from test.test_profile import ProfileTest, regenerate_expected_output\r
9\r
10class CProfileTest(ProfileTest):\r
11 profilerclass = cProfile.Profile\r
12 expected_list_sort_output = "{method 'sort' of 'list' objects}"\r
13\r
14 # Issue 3895.\r
15 def test_bad_counter_during_dealloc(self):\r
16 import _lsprof\r
17 # Must use a file as StringIO doesn't trigger the bug.\r
18 sys.stderr = open(TESTFN, 'w')\r
19 try:\r
20 obj = _lsprof.Profiler(lambda: int)\r
21 obj.enable()\r
22 obj = _lsprof.Profiler(1)\r
23 obj.disable()\r
24 finally:\r
25 sys.stderr = sys.__stderr__\r
26 unlink(TESTFN)\r
27\r
28\r
29def test_main():\r
30 run_unittest(CProfileTest)\r
31\r
32def main():\r
33 if '-r' not in sys.argv:\r
34 test_main()\r
35 else:\r
36 regenerate_expected_output(__file__, CProfileTest)\r
37\r
38\r
39# Don't remove this comment. Everything below it is auto-generated.\r
40#--cut--------------------------------------------------------------------------\r
41CProfileTest.expected_output['print_stats'] = """\\r
42 126 function calls (106 primitive calls) in 1.000 seconds\r
43\r
44 Ordered by: standard name\r
45\r
46 ncalls tottime percall cumtime percall filename:lineno(function)\r
47 1 0.000 0.000 1.000 1.000 <string>:1(<module>)\r
48 28 0.028 0.001 0.028 0.001 profilee.py:110(__getattr__)\r
49 1 0.270 0.270 1.000 1.000 profilee.py:25(testfunc)\r
50 23/3 0.150 0.007 0.170 0.057 profilee.py:35(factorial)\r
51 20 0.020 0.001 0.020 0.001 profilee.py:48(mul)\r
52 2 0.040 0.020 0.600 0.300 profilee.py:55(helper)\r
53 4 0.116 0.029 0.120 0.030 profilee.py:73(helper1)\r
54 2 0.000 0.000 0.140 0.070 profilee.py:84(helper2_indirect)\r
55 8 0.312 0.039 0.400 0.050 profilee.py:88(helper2)\r
56 8 0.064 0.008 0.080 0.010 profilee.py:98(subhelper)\r
57 12 0.000 0.000 0.012 0.001 {hasattr}\r
58 4 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects}\r
59 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\r
60 8 0.000 0.000 0.000 0.000 {range}\r
61 4 0.000 0.000 0.000 0.000 {sys.exc_info}\r
62\r
63\r
64"""\r
65CProfileTest.expected_output['print_callers'] = """\\r
66 Ordered by: standard name\r
67\r
68Function was called by...\r
69 ncalls tottime cumtime\r
70<string>:1(<module>) <-\r
71profilee.py:110(__getattr__) <- 16 0.016 0.016 profilee.py:98(subhelper)\r
72 12 0.012 0.012 {hasattr}\r
73profilee.py:25(testfunc) <- 1 0.270 1.000 <string>:1(<module>)\r
74profilee.py:35(factorial) <- 1 0.014 0.130 profilee.py:25(testfunc)\r
75 20/3 0.130 0.147 profilee.py:35(factorial)\r
76 2 0.006 0.040 profilee.py:84(helper2_indirect)\r
77profilee.py:48(mul) <- 20 0.020 0.020 profilee.py:35(factorial)\r
78profilee.py:55(helper) <- 2 0.040 0.600 profilee.py:25(testfunc)\r
79profilee.py:73(helper1) <- 4 0.116 0.120 profilee.py:55(helper)\r
80profilee.py:84(helper2_indirect) <- 2 0.000 0.140 profilee.py:55(helper)\r
81profilee.py:88(helper2) <- 6 0.234 0.300 profilee.py:55(helper)\r
82 2 0.078 0.100 profilee.py:84(helper2_indirect)\r
83profilee.py:98(subhelper) <- 8 0.064 0.080 profilee.py:88(helper2)\r
84{hasattr} <- 4 0.000 0.004 profilee.py:73(helper1)\r
85 8 0.000 0.008 profilee.py:88(helper2)\r
86{method 'append' of 'list' objects} <- 4 0.000 0.000 profilee.py:73(helper1)\r
87{method 'disable' of '_lsprof.Profiler' objects} <-\r
88{range} <- 8 0.000 0.000 profilee.py:98(subhelper)\r
89{sys.exc_info} <- 4 0.000 0.000 profilee.py:73(helper1)\r
90\r
91\r
92"""\r
93CProfileTest.expected_output['print_callees'] = """\\r
94 Ordered by: standard name\r
95\r
96Function called...\r
97 ncalls tottime cumtime\r
98<string>:1(<module>) -> 1 0.270 1.000 profilee.py:25(testfunc)\r
99profilee.py:110(__getattr__) ->\r
100profilee.py:25(testfunc) -> 1 0.014 0.130 profilee.py:35(factorial)\r
101 2 0.040 0.600 profilee.py:55(helper)\r
102profilee.py:35(factorial) -> 20/3 0.130 0.147 profilee.py:35(factorial)\r
103 20 0.020 0.020 profilee.py:48(mul)\r
104profilee.py:48(mul) ->\r
105profilee.py:55(helper) -> 4 0.116 0.120 profilee.py:73(helper1)\r
106 2 0.000 0.140 profilee.py:84(helper2_indirect)\r
107 6 0.234 0.300 profilee.py:88(helper2)\r
108profilee.py:73(helper1) -> 4 0.000 0.004 {hasattr}\r
109 4 0.000 0.000 {method 'append' of 'list' objects}\r
110 4 0.000 0.000 {sys.exc_info}\r
111profilee.py:84(helper2_indirect) -> 2 0.006 0.040 profilee.py:35(factorial)\r
112 2 0.078 0.100 profilee.py:88(helper2)\r
113profilee.py:88(helper2) -> 8 0.064 0.080 profilee.py:98(subhelper)\r
114 8 0.000 0.008 {hasattr}\r
115profilee.py:98(subhelper) -> 16 0.016 0.016 profilee.py:110(__getattr__)\r
116 8 0.000 0.000 {range}\r
117{hasattr} -> 12 0.012 0.012 profilee.py:110(__getattr__)\r
118{method 'append' of 'list' objects} ->\r
119{method 'disable' of '_lsprof.Profiler' objects} ->\r
120{range} ->\r
121{sys.exc_info} ->\r
122\r
123\r
124"""\r
125\r
126if __name__ == "__main__":\r
127 main()\r