Issue #25945: Fixed bugs in functools.partial.
Fixed a crash when unpickle the functools.partial object with wrong state.
Fixed a leak in failed functools.partial constructor.
"args" and "keywords" attributes of functools.partial have now always types
tuple and dict correspondingly.
Issue #25945: Fixed bugs in functools.partial.
Fixed a crash when unpickle the functools.partial object with wrong state.
Fixed a leak in failed functools.partial constructor.
"args" and "keywords" attributes of functools.partial have now always types
tuple and dict correspondingly.
Martin Panter [Tue, 2 Feb 2016 10:37:15 +0000 (10:37 +0000)]
Issue #19587: Remove masked and redundant tests in test_bytes
* test_contains() did not override anything
* test_expandtabs/upper/lower() in FixedStringTest were masking usable tests
in string_tests. These tests now get run for bytearray() and bytes().
* test_expandtabs/upper/lower() in buffer_tests were only run on bytearray()
and are redundant with string_tests
Martin Panter [Mon, 1 Feb 2016 21:58:11 +0000 (21:58 +0000)]
Issue #26173: Separate bad cert file tests and client rejection test
Test test_wrong_cert() runs a server that rejects the client's certificate,
so ECONNRESET is reasonable in addition to SSLError. On the other hand, the
other three tests don't even need to run a server because they are just
testing the parsing of invalid certificate files.
Also fix a ResourceWarning by closing the wrapped socket.
Victor Stinner [Sun, 31 Jan 2016 17:36:41 +0000 (18:36 +0100)]
Enhance os.scandir() doc
Issue #26248, patch written by Ben Hoyt:
1) Clarify that the return values of is_dir()/is_file()/etc are cached
separately for follow_symlinks True and False.
2) Be more specific about when the functions require a system call, and how it
relates to caching and follow_symlinks.
3) DRY up common stuff between is_dir and is_file by saying "Caching, system
calls made, and exceptions raised are as per is_dir" in is_file.
4) Tweak to the first paragraph of docs for is_dir/is_file to simplify: assume
the follow_symlinks=True default, then note the follow_symlinks=False
non-default case after.
Martin Panter [Sat, 30 Jan 2016 03:41:43 +0000 (03:41 +0000)]
Issue #26173: Fix test_ssl confusion with non-existing cert and wrongcert.pem
Testing for a non-existing certificate file is already done in test_errors().
Copy wrongcert.pem from Python 2 and use it to test the behaviour with a
mismatched certificate.
Victor Stinner [Thu, 28 Jan 2016 17:13:45 +0000 (18:13 +0100)]
Backport fixes on test_eintr
* Issue #25234: Skip test_eintr.test_open() under OS X to avoid hanging
* Issue #25868: Try to make test_eintr.test_sigwaitinfo() more reliable
especially on slow buildbots. Use a pipe to synchronize the parent and the
child processes.
Victor Stinner [Thu, 28 Jan 2016 14:41:01 +0000 (15:41 +0100)]
Windows: Decode hostname from ANSI code page
Issue #26227: On Windows, getnameinfo(), gethostbyaddr() and gethostbyname_ex()
functions of the socket module now decode the hostname from the ANSI code page
rather than UTF-8.
Victor Stinner [Wed, 27 Jan 2016 15:56:53 +0000 (16:56 +0100)]
Fix resize_compact()
Issue #26217: resize_compact() must set wstr_length to 0 after freeing the wstr
string. Otherwise, an assertion fails in _PyUnicode_CheckConsistency().
Victor Stinner [Tue, 26 Jan 2016 23:37:59 +0000 (00:37 +0100)]
Issue #26146: remove useless code
obj2ast_constant() code is baesd on obj2ast_object() which has a special case
for Py_None. But in practice, we don't need to have a special case for
constants.
* Add comment to the maxlen structure entry about the meaning of maxlen == -1
* Factor-out code common to deque_append(left) and deque_extend(left)
* Factor inner-loop in deque_clear() to use only 1 test per loop instead of 2
* Tighten inner-loops for deque_item() and deque_ass_item() so that the
compiler can combine the decrement and test into a single step.
Brett Cannon [Sat, 23 Jan 2016 00:39:02 +0000 (16:39 -0800)]
Issue #18018: Raise an ImportError if a relative import is attempted
with no known parent package.
Previously SystemError was raised if the parent package didn't exist
(e.g., __package__ was set to '').
Thanks to Florent Xicluna and Yongzhi Pan for reporting the issue.
Brett Cannon [Fri, 22 Jan 2016 23:25:50 +0000 (15:25 -0800)]
Issue #25791: Warn when __package__ != __spec__.parent.
In a previous change, __spec__.parent was prioritized over
__package__. That is a backwards-compatibility break, but we do
eventually want __spec__ to be the ground truth for module details. So
this change reverts the change in semantics and instead raises an
ImportWarning when __package__ != __spec__.parent to give people time
to adjust to using spec objects.
Victor Stinner [Fri, 22 Jan 2016 17:00:05 +0000 (18:00 +0100)]
doc: i18n HTML templates
Issue #25907: Use {% trans %} tags in HTML templates to ease the translation of
the documentation. The tag comes from Jinja templating system, used by Sphinx.