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.
Thomas Wouters [Sun, 12 Feb 2006 11:53:32 +0000 (11:53 +0000)]
SF patch #1397960: When mixing file-iteration and
readline/readlines/read/readinto, loudly break by raising ValueError, rather
than silently deliver data out of order or hitting EOF prematurely.
Probably not a bugfix candidate, even though it affects no 'working' code.
Armin Rigo [Fri, 10 Feb 2006 13:19:53 +0000 (13:19 +0000)]
The default timer unit was incorrectly measured in milliseconds instead
of seconds, producing numbers 1000 times too large. It would be nice to
write a test for this, but how... (thanks mwh)
Vinay Sajip [Thu, 9 Feb 2006 08:34:14 +0000 (08:34 +0000)]
Propagate exceptions from shutdown() if raiseExceptions is not set.
Added 'extra' keyword argument handling to logging calls, as discussed on python-dev.
Neal Norwitz [Thu, 9 Feb 2006 05:08:56 +0000 (05:08 +0000)]
Be a little less sensitive to failures. Only check for the result from
regrtest.py. If we grep for just "fail", that finds bsddb deadlock
messages, which presumably are just warnings. They don't cause
a test failure.