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