Re: [Python-Dev] [Python-checkins] cpython: Following issue #13390, fix compilation --without-pymalloc, and make
Looks like Windows buildbots broken by this commit. On Tue, Dec 18, 2012 at 12:07 AM, antoine.pitrou <python-checkins@python.org> wrote:
http://hg.python.org/cpython/rev/a85673b55177 changeset: 80923:a85673b55177 user: Antoine Pitrou <solipsis@pitrou.net> date: Mon Dec 17 23:05:59 2012 +0100 summary: Following issue #13390, fix compilation --without-pymalloc, and make sys.getallocatedblocks() return 0 in that situation.
files: Doc/library/sys.rst | 15 ++++++++------- Lib/test/test_sys.py | 7 ++++++- Objects/obmalloc.c | 7 +++++++ 3 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -396,16 +396,17 @@ .. function:: getallocatedblocks()
Return the number of memory blocks currently allocated by the interpreter, - regardless of their size. This function is mainly useful for debugging - small memory leaks. Because of the interpreter's internal caches, the - result can vary from call to call; you may have to call - :func:`_clear_type_cache()` to get more predictable results. + regardless of their size. This function is mainly useful for tracking + and debugging memory leaks. Because of the interpreter's internal + caches, the result can vary from call to call; you may have to call + :func:`_clear_type_cache()` and :func:`gc.collect()` to get more + predictable results. + + If a Python build or implementation cannot reasonably compute this + information, :func:`getallocatedblocks()` is allowed to return 0 instead.
.. versionadded:: 3.4
- .. impl-detail:: - Not all Python implementations may be able to return this information. -
.. function:: getcheckinterval()
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -7,6 +7,7 @@ import operator import codecs import gc +import sysconfig
# count the number of test runs, used to create unique # strings to intern in test_intern() @@ -616,9 +617,13 @@ "sys.getallocatedblocks unavailable on this build") def test_getallocatedblocks(self): # Some sanity checks + with_pymalloc = sysconfig.get_config_var('WITH_PYMALLOC') a = sys.getallocatedblocks() self.assertIs(type(a), int) - self.assertGreater(a, 0) + if with_pymalloc: + self.assertGreater(a, 0) + else: + self.assertEqual(a, 0) try: # While we could imagine a Python session where the number of # multiple buffer objects would exceed the sharing of references, diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c --- a/Objects/obmalloc.c +++ b/Objects/obmalloc.c @@ -1316,6 +1316,13 @@ { PyMem_FREE(p); } + +Py_ssize_t +_Py_GetAllocatedBlocks(void) +{ + return 0; +} + #endif /* WITH_PYMALLOC */
#ifdef PYMALLOC_DEBUG
-- Repository URL: http://hg.python.org/cpython
_______________________________________________ Python-checkins mailing list Python-checkins@python.org http://mail.python.org/mailman/listinfo/python-checkins
-- Thanks, Andrew Svetlov
participants (1)
-
Andrew Svetlov