home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 June / maximum-cd-2011-06.iso / DiscContents / LibO_3.3.1_Win_x86_install_multi.exe / libreoffice1.cab / test_cprofile.py < prev    next >
Encoding:
Python Source  |  2011-02-15  |  6.9 KB  |  127 lines

  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()
  127.