Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
4e299c70
Kaydet (Commit)
4e299c70
authored
Eki 06, 2008
tarafından
Benjamin Peterson
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
unbreak test_cprofile
üst
d8506df2
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
72 additions
and
130 deletions
+72
-130
regrtest.py
Lib/test/regrtest.py
+0
-1
test_cProfile.py
Lib/test/test_cProfile.py
+0
-129
test_cprofile.py
Lib/test/test_cprofile.py
+72
-0
No files found.
Lib/test/regrtest.py
Dosyayı görüntüle @
4e299c70
...
@@ -1137,7 +1137,6 @@ class _ExpectedSkips:
...
@@ -1137,7 +1137,6 @@ class _ExpectedSkips:
# These are broken tests, for now skipped on every platform.
# These are broken tests, for now skipped on every platform.
# XXX Fix these!
# XXX Fix these!
self
.
expected
.
add
(
'test_cProfile'
)
self
.
expected
.
add
(
'test_nis'
)
self
.
expected
.
add
(
'test_nis'
)
# expected to be skipped on every platform, even Linux
# expected to be skipped on every platform, even Linux
...
...
Lib/test/test_cProfile.py
deleted
100644 → 0
Dosyayı görüntüle @
d8506df2
"""Test suite for the cProfile module."""
import
cProfile
,
pstats
,
sys
# In order to have reproducible time, we simulate a timer in the global
# variable 'ticks', which represents simulated time in milliseconds.
# (We can't use a helper function increment the timer since it would be
# included in the profile and would appear to consume all the time.)
ticks
=
0
# IMPORTANT: this is an output test. *ALL* NUMBERS in the expected
# output are relevant. If you change the formatting of pstats,
# please don't just regenerate output/test_cProfile without checking
# very carefully that not a single number has changed.
def
test_main
():
global
ticks
ticks
=
42000
prof
=
cProfile
.
Profile
(
timer
,
0.001
)
prof
.
runctx
(
"testfunc()"
,
globals
(),
locals
())
assert
ticks
==
43000
,
ticks
st
=
pstats
.
Stats
(
prof
)
st
.
strip_dirs
()
.
sort_stats
(
'stdname'
)
.
print_stats
()
st
.
print_callees
()
st
.
print_callers
()
def
timer
():
return
ticks
def
testfunc
():
# 1 call
# 1000 ticks total: 270 ticks local, 730 ticks in subfunctions
global
ticks
ticks
+=
99
helper
()
# 300
helper
()
# 300
ticks
+=
171
factorial
(
14
)
# 130
def
factorial
(
n
):
# 23 calls total
# 170 ticks total, 150 ticks local
# 3 primitive calls, 130, 20 and 20 ticks total
# including 116, 17, 17 ticks local
global
ticks
if
n
>
0
:
ticks
+=
n
return
mul
(
n
,
factorial
(
n
-
1
))
else
:
ticks
+=
11
return
1
def
mul
(
a
,
b
):
# 20 calls
# 1 tick, local
global
ticks
ticks
+=
1
return
a
*
b
def
helper
():
# 2 calls
# 300 ticks total: 20 ticks local, 260 ticks in subfunctions
global
ticks
ticks
+=
1
helper1
()
# 30
ticks
+=
2
helper1
()
# 30
ticks
+=
6
helper2
()
# 50
ticks
+=
3
helper2
()
# 50
ticks
+=
2
helper2
()
# 50
ticks
+=
5
helper2_indirect
()
# 70
ticks
+=
1
def
helper1
():
# 4 calls
# 30 ticks total: 29 ticks local, 1 tick in subfunctions
global
ticks
ticks
+=
10
hasattr
(
C
(),
"foo"
)
# 1
ticks
+=
19
lst
=
[]
lst
.
append
(
42
)
# 0
sys
.
exc_info
()
# 0
def
helper2_indirect
():
helper2
()
# 50
factorial
(
3
)
# 20
def
helper2
():
# 8 calls
# 50 ticks local: 39 ticks local, 11 ticks in subfunctions
global
ticks
ticks
+=
11
hasattr
(
C
(),
"bar"
)
# 1
ticks
+=
13
subhelper
()
# 10
ticks
+=
15
def
subhelper
():
# 8 calls
# 10 ticks total: 8 ticks local, 2 ticks in subfunctions
global
ticks
ticks
+=
2
for
i
in
range
(
2
):
# 0
try
:
C
()
.
foo
# 1 x 2
except
AttributeError
:
ticks
+=
3
# 3 x 2
class
C
:
def
__getattr__
(
self
,
name
):
# 28 calls
# 1 tick, local
global
ticks
ticks
+=
1
raise
AttributeError
def
test_main
():
from
test.support
import
TestSkipped
raise
TestSkipped
(
'test_cProfile test is current broken'
)
if
__name__
==
"__main__"
:
test_main
()
Lib/test/test_cprofile.py
0 → 100644
Dosyayı görüntüle @
4e299c70
"""Test suite for the cProfile module."""
import
sys
from
test.support
import
run_unittest
# rip off all interesting stuff from test_profile
import
cProfile
from
test.test_profile
import
ProfileTest
,
regenerate_expected_output
class
CProfileTest
(
ProfileTest
):
profilerclass
=
cProfile
.
Profile
def
test_main
():
run_unittest
(
CProfileTest
)
def
main
():
if
'-r'
not
in
sys
.
argv
:
test_main
()
else
:
regenerate_expected_output
(
__file__
,
CProfileTest
)
# Don't remove this comment. Everything below it is auto-generated.
#--cut--------------------------------------------------------------------------
CProfileTest
.
expected_output
[
'print_stats'
]
=
"""
\
28 0.028 0.001 0.028 0.001 profilee.py:110(__getattr__)
1 0.270 0.270 1.000 1.000 profilee.py:25(testfunc)
23/3 0.150 0.007 0.170 0.057 profilee.py:35(factorial)
20 0.020 0.001 0.020 0.001 profilee.py:48(mul)
2 0.040 0.020 0.600 0.300 profilee.py:55(helper)
4 0.116 0.029 0.120 0.030 profilee.py:73(helper1)
2 0.000 0.000 0.140 0.070 profilee.py:84(helper2_indirect)
8 0.312 0.039 0.400 0.050 profilee.py:88(helper2)
8 0.064 0.008 0.080 0.010 profilee.py:98(subhelper)"""
CProfileTest
.
expected_output
[
'print_callers'
]
=
"""
\
profilee.py:110(__getattr__) <- 16 0.016 0.016 profilee.py:98(subhelper)
profilee.py:25(testfunc) <- 1 0.270 1.000 <string>:1(<module>)
profilee.py:35(factorial) <- 1 0.014 0.130 profilee.py:25(testfunc)
20/3 0.130 0.147 profilee.py:35(factorial)
2 0.006 0.040 profilee.py:84(helper2_indirect)
profilee.py:48(mul) <- 20 0.020 0.020 profilee.py:35(factorial)
profilee.py:55(helper) <- 2 0.040 0.600 profilee.py:25(testfunc)
profilee.py:73(helper1) <- 4 0.116 0.120 profilee.py:55(helper)
profilee.py:84(helper2_indirect) <- 2 0.000 0.140 profilee.py:55(helper)
profilee.py:88(helper2) <- 6 0.234 0.300 profilee.py:55(helper)
2 0.078 0.100 profilee.py:84(helper2_indirect)
profilee.py:98(subhelper) <- 8 0.064 0.080 profilee.py:88(helper2)
{built-in method exc_info} <- 4 0.000 0.000 profilee.py:73(helper1)
{built-in method hasattr} <- 4 0.000 0.004 profilee.py:73(helper1)
8 0.000 0.008 profilee.py:88(helper2)
{method 'append' of 'list' objects} <- 4 0.000 0.000 profilee.py:73(helper1)"""
CProfileTest
.
expected_output
[
'print_callees'
]
=
"""
\
<string>:1(<module>) -> 1 0.270 1.000 profilee.py:25(testfunc)
profilee.py:110(__getattr__) ->
profilee.py:25(testfunc) -> 1 0.014 0.130 profilee.py:35(factorial)
2 0.040 0.600 profilee.py:55(helper)
profilee.py:35(factorial) -> 20/3 0.130 0.147 profilee.py:35(factorial)
20 0.020 0.020 profilee.py:48(mul)
profilee.py:48(mul) ->
profilee.py:55(helper) -> 4 0.116 0.120 profilee.py:73(helper1)
2 0.000 0.140 profilee.py:84(helper2_indirect)
6 0.234 0.300 profilee.py:88(helper2)
profilee.py:73(helper1) -> 4 0.000 0.000 {built-in method exc_info}
profilee.py:84(helper2_indirect) -> 2 0.006 0.040 profilee.py:35(factorial)
2 0.078 0.100 profilee.py:88(helper2)
profilee.py:88(helper2) -> 8 0.064 0.080 profilee.py:98(subhelper)
profilee.py:98(subhelper) -> 16 0.016 0.016 profilee.py:110(__getattr__)
{built-in method hasattr} -> 12 0.012 0.012 profilee.py:110(__getattr__)"""
if
__name__
==
"__main__"
:
main
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment