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
83910260
Kaydet (Commit)
83910260
authored
Kas 11, 2016
tarafından
Serhiy Storchaka
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Sade Fark
Issue #23839: Various caches now are cleared before running every test file.
üst
249ba5d0
daeddc48
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
91 additions
and
26 deletions
+91
-26
refleak.py
Lib/test/libregrtest/refleak.py
+84
-25
runtest.py
Lib/test/libregrtest/runtest.py
+2
-1
NEWS
Misc/NEWS
+5
-0
No files found.
Lib/test/libregrtest/refleak.py
Dosyayı görüntüle @
83910260
...
@@ -122,17 +122,9 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
...
@@ -122,17 +122,9 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
def
dash_R_cleanup
(
fs
,
ps
,
pic
,
zdc
,
abcs
):
def
dash_R_cleanup
(
fs
,
ps
,
pic
,
zdc
,
abcs
):
import
gc
,
copyreg
import
gc
,
copyreg
import
_strptime
,
linecache
import
collections.abc
import
urllib.parse
,
urllib
.
request
,
mimetypes
,
doctest
import
struct
,
filecmp
,
collections
.
abc
from
distutils.dir_util
import
_path_created
from
weakref
import
WeakSet
from
weakref
import
WeakSet
# Clear the warnings registry, so they can be displayed again
for
mod
in
sys
.
modules
.
values
():
if
hasattr
(
mod
,
'__warningregistry__'
):
del
mod
.
__warningregistry__
# Restore some original values.
# Restore some original values.
warnings
.
filters
[:]
=
fs
warnings
.
filters
[:]
=
fs
copyreg
.
dispatch_table
.
clear
()
copyreg
.
dispatch_table
.
clear
()
...
@@ -159,6 +151,23 @@ def dash_R_cleanup(fs, ps, pic, zdc, abcs):
...
@@ -159,6 +151,23 @@ def dash_R_cleanup(fs, ps, pic, zdc, abcs):
obj
.
_abc_cache
.
clear
()
obj
.
_abc_cache
.
clear
()
obj
.
_abc_negative_cache
.
clear
()
obj
.
_abc_negative_cache
.
clear
()
clear_caches
()
# Collect cyclic trash and read memory statistics immediately after.
func1
=
sys
.
getallocatedblocks
func2
=
sys
.
gettotalrefcount
gc
.
collect
()
return
func1
(),
func2
(),
fd_count
()
def
clear_caches
():
import
gc
# Clear the warnings registry, so they can be displayed again
for
mod
in
sys
.
modules
.
values
():
if
hasattr
(
mod
,
'__warningregistry__'
):
del
mod
.
__warningregistry__
# Flush standard output, so that buffered data is sent to the OS and
# Flush standard output, so that buffered data is sent to the OS and
# associated Python objects are reclaimed.
# associated Python objects are reclaimed.
for
stream
in
(
sys
.
stdout
,
sys
.
stderr
,
sys
.
__stdout__
,
sys
.
__stderr__
):
for
stream
in
(
sys
.
stdout
,
sys
.
stderr
,
sys
.
__stdout__
,
sys
.
__stderr__
):
...
@@ -166,20 +175,74 @@ def dash_R_cleanup(fs, ps, pic, zdc, abcs):
...
@@ -166,20 +175,74 @@ def dash_R_cleanup(fs, ps, pic, zdc, abcs):
stream
.
flush
()
stream
.
flush
()
# Clear assorted module caches.
# Clear assorted module caches.
_path_created
.
clear
()
# Don't worry about resetting the cache if the module is not loaded
try
:
distutils_dir_util
=
sys
.
modules
[
'distutils.dir_util'
]
except
KeyError
:
pass
else
:
distutils_dir_util
.
_path_created
.
clear
()
re
.
purge
()
re
.
purge
()
_strptime
.
_regex_cache
.
clear
()
urllib
.
parse
.
clear_cache
()
urllib
.
request
.
urlcleanup
()
linecache
.
clearcache
()
mimetypes
.
_default_mime_types
()
filecmp
.
_cache
.
clear
()
struct
.
_clearcache
()
doctest
.
master
=
None
try
:
try
:
import
ctypes
_strptime
=
sys
.
modules
[
'_strptime'
]
except
ImportError
:
except
KeyError
:
# Don't worry about resetting the cache if ctypes is not supported
pass
else
:
_strptime
.
_regex_cache
.
clear
()
try
:
urllib_parse
=
sys
.
modules
[
'urllib.parse'
]
except
KeyError
:
pass
else
:
urllib_parse
.
clear_cache
()
try
:
urllib_request
=
sys
.
modules
[
'urllib.request'
]
except
KeyError
:
pass
else
:
urllib_request
.
urlcleanup
()
try
:
linecache
=
sys
.
modules
[
'linecache'
]
except
KeyError
:
pass
else
:
linecache
.
clearcache
()
try
:
mimetypes
=
sys
.
modules
[
'mimetypes'
]
except
KeyError
:
pass
else
:
mimetypes
.
_default_mime_types
()
try
:
filecmp
=
sys
.
modules
[
'filecmp'
]
except
KeyError
:
pass
else
:
filecmp
.
_cache
.
clear
()
try
:
struct
=
sys
.
modules
[
'struct'
]
except
KeyError
:
pass
else
:
struct
.
_clearcache
()
try
:
doctest
=
sys
.
modules
[
'doctest'
]
except
KeyError
:
pass
else
:
doctest
.
master
=
None
try
:
ctypes
=
sys
.
modules
[
'ctypes'
]
except
KeyError
:
pass
pass
else
:
else
:
ctypes
.
_reset_cache
()
ctypes
.
_reset_cache
()
...
@@ -192,11 +255,7 @@ def dash_R_cleanup(fs, ps, pic, zdc, abcs):
...
@@ -192,11 +255,7 @@ def dash_R_cleanup(fs, ps, pic, zdc, abcs):
for
f
in
typing
.
_cleanups
:
for
f
in
typing
.
_cleanups
:
f
()
f
()
# Collect cyclic trash and read memory statistics immediately after.
func1
=
sys
.
getallocatedblocks
func2
=
sys
.
gettotalrefcount
gc
.
collect
()
gc
.
collect
()
return
func1
(),
func2
(),
fd_count
()
def
warm_caches
():
def
warm_caches
():
...
...
Lib/test/libregrtest/runtest.py
Dosyayı görüntüle @
83910260
...
@@ -7,7 +7,7 @@ import time
...
@@ -7,7 +7,7 @@ import time
import
traceback
import
traceback
import
unittest
import
unittest
from
test
import
support
from
test
import
support
from
test.libregrtest.refleak
import
dash_R
from
test.libregrtest.refleak
import
dash_R
,
clear_caches
from
test.libregrtest.save_env
import
saved_test_environment
from
test.libregrtest.save_env
import
saved_test_environment
...
@@ -146,6 +146,7 @@ def runtest_inner(ns, test, display_failure=True):
...
@@ -146,6 +146,7 @@ def runtest_inner(ns, test, display_failure=True):
else
:
else
:
# Always import it from the test package
# Always import it from the test package
abstest
=
'test.'
+
test
abstest
=
'test.'
+
test
clear_caches
()
with
saved_test_environment
(
test
,
ns
.
verbose
,
ns
.
quiet
,
pgo
=
ns
.
pgo
)
as
environment
:
with
saved_test_environment
(
test
,
ns
.
verbose
,
ns
.
quiet
,
pgo
=
ns
.
pgo
)
as
environment
:
start_time
=
time
.
time
()
start_time
=
time
.
time
()
the_module
=
importlib
.
import_module
(
abstest
)
the_module
=
importlib
.
import_module
(
abstest
)
...
...
Misc/NEWS
Dosyayı görüntüle @
83910260
...
@@ -55,6 +55,11 @@ Documentation
...
@@ -55,6 +55,11 @@ Documentation
- Issue #28513: Documented command-line interface of zipfile.
- Issue #28513: Documented command-line interface of zipfile.
Tests
-----
- Issue #23839: Various caches now are cleared before running every test file.
What's New in Python 3.6.0 beta 3
What's New in Python 3.6.0 beta 3
=================================
=================================
...
...
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