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