Neal Norwitz [Sun, 19 Feb 2006 18:48:19 +0000 (18:48 +0000)]
Ignore the tests which report leaks sporadically.
This should cause few enough spurious warnings to send to python-checkins now.
If a test leaks that is not in the ignore list (LEAKY_TESTS), all tests
which leak will be reported. This includes those in the ignore list.
Hopefully that will prompt someone to fix the flakiness.
Tim Peters [Sat, 18 Feb 2006 04:14:16 +0000 (04:14 +0000)]
Suppress new deprecation warnings when running the
test suite.
For urllib2, move the import of gopherlib into the
only function that uses it: users (including the
test suite) certainly shouldn't see a deprecation
warning just because they import urllib2! If they
actually use gopher_open(), fine, _then_ they should
see a deprecation warning.
Tim Peters [Thu, 16 Feb 2006 23:46:01 +0000 (23:46 +0000)]
new_mmap_object(), Windows flavor.
On a box where sizeof(size_t) == 4, C doesn't define
what happens when a size_t value is shifted right by
32 bits, and this caused test_mmap to fail on Windows
in a debug build. So use different code to break
the size apart depending on how large size_t actually
is.
This looks like an illusion, since lots of code in this
module still appears to assume sizes can't be more
than 32 bits (e.g., the internal _GetMapSize() still
returns an int), but at least test_mmap passes again.
Thomas Wouters [Thu, 16 Feb 2006 19:44:46 +0000 (19:44 +0000)]
Use proper PyArg_Parse format char for Py_ssize_t, instead of 'l', in
buffer_new(). Probably fixes a bug in 'buffer("", 10, 10)' on platforms
where sizeof(Py_ssize_t) != sizeof(long) (Win64?)
Thomas Wouters [Thu, 16 Feb 2006 19:21:53 +0000 (19:21 +0000)]
Also make _heapq.nlargest() use Py_ssize_t instead of ints, to iter over
lists and call Py_ssize_t-using helpers. All other code in this module was
already adapted to Py_ssize_t.
Thomas Wouters [Thu, 16 Feb 2006 17:32:54 +0000 (17:32 +0000)]
Use 'n' format for Py_ssize_t variables to PyArg_ParseTuple(). Py_ssize_t
has been applied fairly arbitrarily in this module (nsmallest uses
Py_ssize_t, nlargest does not) and it probably deserves a more complete
review. Fixes heapq.nsmallest() always returning the empty list (on
platforms with 64-bit ssize_t/long)
Thomas Wouters [Thu, 16 Feb 2006 14:57:05 +0000 (14:57 +0000)]
Fix broken example of csv.reader use (it returns an iterator, which isn't
indexable) by using the same 'for' construct as all other examples. (Also
emphasizes that reading from a random iterable is no different than reading
from a file.)
Tim Peters [Thu, 16 Feb 2006 01:08:01 +0000 (01:08 +0000)]
doubletounicode(), longtounicode():
Py_SAFE_DOWNCAST can evaluate its first argument multiple
times in a debug build. This caused two distinct assert-
failures in test_unicode run under a debug build. Rewrote
the code in trivial ways so that multiple evaluation of the
first argument doesn't hurt.
Tim Peters [Thu, 16 Feb 2006 00:35:06 +0000 (00:35 +0000)]
getpythonregpath(): Squash compiler warning about
mixing signed and unsigned types in comparison.
Relatedly, `dataSize` is declared as DWORD, not as
int, so change relevant cast from (int) to (DWORD).
Tim Peters [Tue, 14 Feb 2006 17:41:18 +0000 (17:41 +0000)]
New test code failed to close the file. This caused
test_file to fail on Windows in reality (can't delete
a still-open file), but a new bare "except:" hid that
test_file failed on Windows, and leaving behind the
still-open TESTFN caused a cascade of bogus failures
in later tests.
So, close the file, and stop hiding failure to unlink.
Armin Rigo [Tue, 14 Feb 2006 15:50:44 +0000 (15:50 +0000)]
* Refcount leak. It was just a reference to Py_None, but still.
* Allow the 3rd argument to generator.throw() to be None.
The 'raise' statement does the same, and anyway it follows the
general policy that optional arguments of built-ins should, when
reasonable, have a default value specifiable from Python.