Commit Graph

20214 Commits

Author SHA1 Message Date
Victor Stinner 0561c53d78 Issue #23605: Refactor os.walk() tests to also run them on os.fwalk() 2015-03-12 10:28:24 +01:00
Serhiy Storchaka b669bfc2be Issue #22928: Disabled HTTP header injections in http.client.
Original patch by Demian Brecht.
2015-03-12 11:15:15 +02:00
Serhiy Storchaka a112a8ae47 Issue #22928: Disabled HTTP header injections in http.client.
Original patch by Demian Brecht.
2015-03-12 11:13:36 +02:00
Serhiy Storchaka 91427733ea Issue #23192: Fixed generator lambdas. Patch by Bruno Cauet. 2015-03-11 18:22:29 +02:00
Serhiy Storchaka c775ad615a Issue #23192: Fixed generator lambdas. Patch by Bruno Cauet. 2015-03-11 18:20:35 +02:00
Ethan Furman 62e977f1b6 Close issue23467: add %r compatibility to bytes and bytearray 2015-03-11 08:17:00 -07:00
Antoine Pitrou 63afdaa110 Issue #23629: Fix the default __sizeof__ implementation for variable-sized objects. 2015-03-10 22:35:24 +01:00
Antoine Pitrou a654510150 Issue #23629: Fix the default __sizeof__ implementation for variable-sized objects. 2015-03-10 22:32:00 +01:00
Benjamin Peterson 5d2d63ed7d merge 3.4 2015-03-09 10:37:59 -04:00
Benjamin Peterson 101447b3fe fix up import style 2015-03-09 10:37:50 -04:00
Antoine Pitrou 5bd7bf5bab Issue #22980: Under Linux, C extensions now include bitness in the file name,
to make it easy to test 32-bit and 64-bit builds in the same working tree.
2015-03-08 20:43:10 +01:00
Serhiy Storchaka cfb5b87860 Issue #21619: Cleaned up test_broken_pipe_cleanup.
Patch by Martin Panter.
2015-03-08 09:17:28 +02:00
Serhiy Storchaka f87afb0381 Issue #21619: Cleaned up test_broken_pipe_cleanup.
Patch by Martin Panter.
2015-03-08 09:16:40 +02:00
Steve Dower d5a0be6fc0 Suppress assert dialogs in test_os 2015-03-07 21:25:54 -08:00
Steve Dower 79938f22ef Suppress assert dialogs in test_cmd_line. 2015-03-07 20:32:16 -08:00
Victor Stinner 6036e4431d Issue #22524: New os.scandir() function, part of the PEP 471: "os.scandir()
function -- a better and faster directory iterator". Patch written by Ben
Hoyt.
2015-03-08 01:58:04 +01:00
Antoine Pitrou adb351fcea Issue #20876: correctly close temporary file in test.support.fs_is_case_insensitive() 2015-03-08 00:18:29 +01:00
Antoine Pitrou e3207fe86b Issue #20876: correctly close temporary file in test.support.fs_is_case_insensitive() 2015-03-08 00:15:05 +01:00
Serhiy Storchaka 88f64f392c Issue #23103: Reduced the memory consumption of IPv4Address and IPv6Address. 2015-03-07 20:08:34 +02:00
Serhiy Storchaka c0a23e6320 Issue #21793: BaseHTTPRequestHandler again logs response code as numeric,
not as stringified enum.  Patch by Demian Brecht.
2015-03-07 11:51:37 +02:00
Serhiy Storchaka eef20de744 Issue #22853: Added regression test for using multiprocessing.Queue at import
time.  Patch by Davin Potts.
2015-03-06 23:33:51 +02:00
Serhiy Storchaka f8904e99c7 Issue #22853: Added regression test for using multiprocessing.Queue at import
time.  Patch by Davin Potts.
2015-03-06 23:32:54 +02:00
Benjamin Peterson f01c782960 merge 3.4 2015-03-06 09:10:45 -05:00
Benjamin Peterson c19ed37579 remove redundant test 2015-03-06 09:10:26 -05:00
Benjamin Peterson abda8ddd3e merge 3.4 (#23590) 2015-03-06 09:09:46 -05:00
Benjamin Peterson a915723dc7 fix potential refleak in PyFloat_AsDouble (closes #23590) 2015-03-06 09:08:44 -05:00
Robert Collins d7c7e0ef69 Issue #22936: Make it possible to show local variables in tracebacks. 2015-03-05 20:28:52 +13:00
Benjamin Peterson 3e2500d6db merge 3.4 2015-03-04 23:20:23 -05:00
Benjamin Peterson c3d9c5ca0a adjust test_crl_check for trusted first being default 2015-03-04 23:18:48 -05:00
Benjamin Peterson de8eca4638 merge 3.4 2015-03-04 22:50:25 -05:00
Benjamin Peterson 990fcaac3c expose X509_V_FLAG_TRUSTED_FIRST 2015-03-04 22:49:41 -05:00
Victor Stinner 3737e600f4 Merge 3.4 (test_subprocess) 2015-03-05 02:40:17 +01:00
Victor Stinner 20f4bd4a04 Issue #21619: Try to fix test_broken_pipe_cleanup() 2015-03-05 02:38:41 +01:00
Robert Collins 07ff16733e Fix brownbag in issue 17911 commit 2015-03-05 12:26:00 +13:00
Robert Collins 6bc2c1e7eb Issue #17911: traceback module overhaul
Provide a way to seed the linecache for a PEP-302 module without actually
loading the code.

Provide a new object API for traceback, including the ability to not lookup
lines at all until the traceback is actually rendered, without any trace of the
original objects being kept alive.
2015-03-05 12:07:57 +13:00
Serhiy Storchaka 5e0fd95e3b Added more tests for urllib.parse utility functions.
These functions are not documented but used in third-party code.
2015-03-02 16:33:08 +02:00
Serhiy Storchaka 9270be7662 Added more tests for urllib.parse utility functions.
These functions are not documented but used in third-party code.
2015-03-02 16:32:29 +02:00
Berker Peksag a401257411 Issue #23527: Update Gmail port number for STARTTLS to 587.
Patch by Alex Shkop.
2015-03-02 07:41:00 +02:00
Berker Peksag ed0392ae06 Issue #23527: Update Gmail port number for STARTTLS to 587.
Patch by Alex Shkop.
2015-03-02 07:40:36 +02:00
Berker Peksag ccac023d65 Issue #23477: Improve test coverage of wsgiref.simple_server.
The test checks that the environ argument contains correct headers,
querystring and path information.

Patch by Alex Shkop.
2015-03-02 06:54:27 +02:00
Berker Peksag 659f631a5e Issue #23477: Improve test coverage of wsgiref.simple_server.
The test checks that the environ argument contains correct headers,
querystring and path information.

Patch by Alex Shkop.
2015-03-02 06:53:33 +02:00
Berker Peksag fc080fcc7c Issue #23387: Skip test_issue16464 if it raises an 5xx error.
Also, remove support.run_doctest() since there is no doctests in
test_urllib2 and urllib.request.
2015-03-02 06:01:37 +02:00
Berker Peksag bcdfc6a1fa Issue #23387: Skip test_issue16464 if it raises an 5xx error.
Also, remove support.run_doctest() since there is no doctests in
test_urllib2 and urllib.request.
2015-03-02 06:01:01 +02:00
Alexander Belopolsky e49af34151 Issue #7830: Flatten nested functools.partial. 2015-03-01 15:08:17 -05:00
Serhiy Storchaka 3de4aae1d0 Fixed pydoc tests when run with -OO. 2015-03-01 15:32:17 +02:00
Serhiy Storchaka 4c094e5fd5 Fixed pydoc tests when run with -OO. 2015-03-01 15:31:36 +02:00
Serhiy Storchaka 1c205518a3 Issue #19980: Improved help() for non-recognized strings. help('') now
shows the help on str.  help('help') now shows the help on help().
Original patch by Mark Lawrence.
2015-03-01 00:42:54 +02:00
Alexander Belopolsky 184291aeb7 Fixes #23521: Corrected pure python implementation of timedelta division.
* Eliminated OverflowError from timedelta * float for some floats;
 * Corrected rounding in timedlta true division.
2015-02-28 10:44:47 -05:00
Alexander Belopolsky 24d3deefcf Fixes #23521: Corrected pure python implementation of timedelta division.
* Eliminated OverflowError from timedelta * float for some floats;
 * Corrected rounding in timedlta true division.
2015-02-28 10:41:57 -05:00
Serhiy Storchaka 6ab0ec9352 Fixed a test for issue #21619 on Windows.
On Windows an OSError with errno=EINVAL is raised.
2015-02-28 13:28:19 +02:00
Serhiy Storchaka cf265fd02a Fixed a test for issue #21619 on Windows.
On Windows an OSError with errno=EINVAL is raised.
2015-02-28 13:27:54 +02:00
Serhiy Storchaka 86ba765705 Issue #21619: Popen objects no longer leave a zombie after exit in the with
statement if the pipe was broken.  Patch by Martin Panter.
2015-02-28 12:45:00 +02:00
Serhiy Storchaka ab900c21fc Issue #21619: Popen objects no longer leave a zombie after exit in the with
statement if the pipe was broken.  Patch by Martin Panter.
2015-02-28 12:43:08 +02:00
Brett Cannon 8004e8577c Issue #22834: Drop a redundant comment and use errno instead of an
integer.

Thanks to Serhiy Storchaka and Martin Panter for the suggestions.
2015-02-27 12:13:35 -05:00
Victor Stinner 69899e6f3f Merge 3.4 (httplib) 2015-02-27 17:47:40 +01:00
Victor Stinner b389b48265 Issue #23526: Fix ResourceWarning in test_httplib. Patch written by Alex Shkop. 2015-02-27 17:47:23 +01:00
Raymond Hettinger daf57f25e5 Bump the blocksize up from 62 to 64 to speed up the modulo calculation.
Remove the old comment suggesting that it was desireable to have
blocksize+2 as a multiple of the cache line length.  That would
have made sense only if the block structure start point was always
aligned to a cache line boundary.  However, the memory allocations
are 16 byte aligned, so we don't really have control over whether
the struct spills across cache line boundaries.
2015-02-26 23:21:29 -08:00
Antoine Pitrou e71258a0e6 Issue #15955: Add an option to limit the output size in bz2.decompress().
Patch by Nikolaus Rath.
2015-02-26 13:08:07 +01:00
Benjamin Peterson 4fa49727d7 merge 3.4 2015-02-25 16:47:20 -05:00
Benjamin Peterson ed135f46ec remove unused import 2015-02-25 16:47:14 -05:00
Steve Dower c55a316cff Issue 23314: SuppressCrashReports now disables CRT assertions
SuppressCrashReports should be used in test subprocesses that test invalid conditions.
2015-02-23 07:56:13 -08:00
Serhiy Storchaka 0f88891809 Broke reference loops in tests added in issue #5700. 2015-02-23 00:31:33 +02:00
Serhiy Storchaka c26a1a490f Broke reference loops in tests added in issue #5700. 2015-02-23 00:28:38 +02:00
Serhiy Storchaka a3369a524c Issues #814253, #9179: Warnings now are raised when group references and
conditional group references are used in lookbehind assertions in regular
expressions.
2015-02-21 12:08:52 +02:00
Serhiy Storchaka 4eea62fd2e Issues #814253, #9179: Group references and conditional group references now
work in lookbehind assertions in regular expressions.
2015-02-21 10:07:35 +02:00
Serhiy Storchaka df80706f14 Issue #23215: Multibyte codecs with custom error handlers that ignores errors
consumed too much memory and raised SystemError or MemoryError.
Original patch by Aleksi Torhamo.
2015-02-21 01:21:08 +02:00
Serhiy Storchaka a1543cdcd6 Issue #23215: Multibyte codecs with custom error handlers that ignores errors
consumed too much memory and raised SystemError or MemoryError.
Original patch by Aleksi Torhamo.
2015-02-21 01:19:58 +02:00
Serhiy Storchaka 254dd59068 Issue #5700: io.FileIO() called flush() after closing the file.
flush() was not called in close() if closefd=False.
2015-02-21 00:35:53 +02:00
Serhiy Storchaka a3712a9a6c Issue #5700: io.FileIO() called flush() after closing the file.
flush() was not called in close() if closefd=False.
2015-02-21 00:35:09 +02:00
Serhiy Storchaka 7065f376e0 Issue #23374: Fixed pydoc failure with non-ASCII files when stdout encoding
differs from file system encoding (e.g. on Mac OS).
2015-02-20 23:47:09 +02:00
Serhiy Storchaka 5e3d7a401d Issue #23374: Fixed pydoc failure with non-ASCII files when stdout encoding
differs from file system encoding (e.g. on Mac OS).
2015-02-20 23:46:06 +02:00
Brett Cannon 16cd19c8a2 Issue #22834: Fix a failing test under Solaris due to the platform not
allowing the deletion of the cwd.

Thanks to Martin Panter for the initial fix.
2015-02-20 09:48:18 -05:00
Berker Peksag abbf0f40bb Issue #23442: Rename two member names to stay backward compatible
with the constants in http.client.

Initial patch by Demian Brecht.
2015-02-20 14:57:31 +02:00
Berker Peksag 8e28679417 Issue #23439: Add missing entries to http.client.__all__.
Also, document the LineTooLong exception since it can be raised by
the members of public API (e.g. http.client.HTTPResponse).

Patch by Martin Panter.
2015-02-20 09:45:05 +02:00
Berker Peksag babc688180 Issue #23439: Add missing entries to http.client.__all__.
Also, document the LineTooLong exception since it can be raised by
the members of public API (e.g. http.client.HTTPResponse).

Patch by Martin Panter.
2015-02-20 09:39:38 +02:00
Serhiy Storchaka 8aba316fea Issue #23474: Enhanced locale testing. 2015-02-18 08:05:05 +02:00
Serhiy Storchaka 095458596d Issue #23474: Enhanced locale testing. 2015-02-18 08:04:37 +02:00
Benjamin Peterson 1130c7f693 merge 3.4 (#23410) 2015-02-17 21:13:30 -05:00
Benjamin Peterson 70e2847347 document the requestline and close_connection attributes, use real booleans, and add tests (closes #23410)
Patch by Martin Panter.
2015-02-17 21:11:10 -05:00
Victor Stinner a634433a00 Merge 3.4 (asyncio) 2015-02-17 23:36:19 +01:00
Victor Stinner e7a2f64435 asyncio: Fix warning in test_close_kill_running()
Read process exit status to avoid the "Caught subprocess termination from
unknown pid" message.
2015-02-17 23:36:02 +01:00
Victor Stinner 7cbb78cd97 Merge 3.4 (asyncio) 2015-02-17 22:55:36 +01:00
Victor Stinner 4088ad9dce Issue #23475, asyncio: Fix test_close_kill_running()
Really kill the child process, don't mock completly the Popen.kill() method.

This change fix memory leaks and reference leaks.
2015-02-17 22:54:11 +01:00
Victor Stinner 4cb814c7e1 asyncio, Tulip issue 220: Merge JoinableQueue with Queue.
Merge JoinableQueue with Queue. To more closely match the standard Queue,
asyncio.Queue has "join" and "task_done". JoinableQueue is deleted.

Docstring for Queue.join shouldn't mention threads.

Restore JoinableQueue as a deprecated alias for Queue. To more closely match
the standard Queue, asyncio.Queue has "join" and "task_done".  JoinableQueue
remains as a deprecated alias for Queue to avoid needlessly breaking too much
code that depended on it.

Patch written by A. Jesse Jiryu Davis <jesse@mongodb.com>.
2015-02-17 22:53:28 +01:00
Serhiy Storchaka 483405bcca Issue #22883: Got rid of outdated references to PyInt and PyString in comments. 2015-02-17 10:14:30 +02:00
Benjamin Peterson 77c041ba64 merge 3.4 (#21548) 2015-02-16 19:45:42 -05:00
Benjamin Peterson 54237f9fea fix pydoc.apropos and pydoc.synopsis on modules with empty docstrings (#21548)
Patch by Yuyang Guo and Berker Peksag.
2015-02-16 19:45:01 -05:00
Serhiy Storchaka 43036a66c3 Fixed sizeof tests for ElementTree (issue #23450). 2015-02-16 23:58:46 +02:00
Serhiy Storchaka a9e00d13cd Issue #20069: Fixed test_os on Solaris: error message is platform depended. 2015-02-16 08:35:18 +02:00
Berker Peksag a9e2c8ecd6 Issue #17753: effective_ids unavailable on Windows. 2015-02-16 04:36:43 +02:00
Berker Peksag e1efc07a30 Issue #17753: effective_ids unavailable on Windows. 2015-02-16 04:36:18 +02:00
Serhiy Storchaka 23edd49e5b Issue #22885: Fixed arbitrary code execution vulnerability in the dbm.dumb
module.  Original patch by Claudiu Popa.
2015-02-16 00:32:41 +02:00
Serhiy Storchaka 74eb8b2d1a Issue #22885: Fixed arbitrary code execution vulnerability in the dbm.dumb
module.  Original patch by Claudiu Popa.
2015-02-16 00:30:43 +02:00
Antoine Pitrou c481bfb3f6 Issue #23239: ssl.match_hostname() now supports matching of IP addresses. 2015-02-15 18:12:20 +01:00
Antoine Pitrou 2d07b85585 Issue #23146: Fix mishandling of absolute Windows paths with forward slashes in pathlib.
Detected and fixed by Serhiy.
2015-02-15 18:06:54 +01:00
Antoine Pitrou 57fffd6f99 Issue #23146: Fix mishandling of absolute Windows paths with forward slashes in pathlib.
Detected and fixed by Serhiy.
2015-02-15 18:03:59 +01:00
Serhiy Storchaka 90caf017ee Issue #19681: Test the repr of partial with more than one keyword argument. 2015-02-15 16:22:11 +02:00
Serhiy Storchaka 0aa74e10bb Issue #19681: Test the repr of partial with more than one keyword argument. 2015-02-15 16:20:47 +02:00
Serhiy Storchaka d362c21264 Use pickled data compatible with Python 2 for testing protocols 0-2. 2015-02-15 14:10:24 +02:00
Serhiy Storchaka fa310ee3a9 Use pickled data compatible with Python 2 for testing protocols 0-2. 2015-02-15 14:10:03 +02:00
Serhiy Storchaka 5fd174a78d Use os.devnull instead of hardcoded '/dev/null'. 2015-02-15 14:03:11 +02:00
Serhiy Storchaka 56abe39052 Merge heads 2015-02-15 14:02:15 +02:00
Serhiy Storchaka 85c3033670 Use os.devnull instead of hardcoded '/dev/null'. 2015-02-15 13:58:23 +02:00
Serhiy Storchaka 2307287c92 Issue #17753: Skip test_zipfile tests which require write access to test
and email.test.
2015-02-14 23:06:42 +02:00
Serhiy Storchaka db724fe994 Issue #17753: Skip test_zipfile tests which require write access to test
and email.test.
2015-02-14 23:04:35 +02:00
Serhiy Storchaka 86a35bcba9 Issue #22844: Fized test_gdb failure on Debian Wheezy for Z.
Patch by David Edelsohn.
2015-02-14 22:45:15 +02:00
Serhiy Storchaka 6b688d8162 Issue #22844: Fized test_gdb failure on Debian Wheezy for Z.
Patch by David Edelsohn.
2015-02-14 22:44:35 +02:00
Serhiy Storchaka a750ce3325 Issue #19105: pprint now more efficiently uses free space at the right. 2015-02-14 10:55:19 +02:00
Berker Peksag 8089cd642f Issue #14910: Add allow_abbrev parameter to argparse.ArgumentParser.
Patch by Jonathan Paugh, Steven Bethard, paul j3 and Daniel Eriksson.
2015-02-14 01:39:17 +02:00
Berker Peksag 0fe6325acf Issue #21717: tarfile.open() now supports 'x' (exclusive creation) mode. 2015-02-13 21:02:12 +02:00
Berker Peksag 6767757589 Issue #23418: Add missing entries to http.server.__all__.
Patch by Martin Panter.
2015-02-13 20:48:41 +02:00
Berker Peksag 366c570d1f Issue #23418: Add missing entries to http.server.__all__.
Patch by Martin Panter.
2015-02-13 20:48:15 +02:00
Serhiy Storchaka 2eab85b7a2 Issue #21849: Ported from 2.7 tests for non-ASCII data. 2015-02-13 15:19:08 +02:00
Serhiy Storchaka a25c542c47 Issue #21849: Ported from 2.7 tests for non-ASCII data. 2015-02-13 15:13:33 +02:00
Victor Stinner 4163cc0d9f Merge 3.4 (asyncio) 2015-02-10 14:49:56 +01:00
Victor Stinner 8e36812e27 asyncio: BaseSubprocessTransport.close() doesn't try to kill the process if it
already finished
2015-02-10 14:49:32 +01:00
Serhiy Storchaka 4bdcfce512 Issue #23421: Fixed compression in tarfile CLI. Patch by wdv4758h. 2015-02-10 08:47:10 +02:00
Serhiy Storchaka 832dd5f0d6 Issue #23421: Fixed compression in tarfile CLI. Patch by wdv4758h. 2015-02-10 08:45:53 +02:00
Vinay Sajip 365701add9 Added respect_handler_level to QueueListener. 2015-02-09 19:49:00 +00:00
Charles-François Natali 26dd5edae8 Fix whitespace. 2015-02-07 13:29:15 +00:00
Charles-François Natali 6e6c59b508 Issue #23285: PEP 475 -- Retry system calls failing with EINTR. 2015-02-07 13:27:50 +00:00
Berker Peksag bf5e9604cc Issue #20289: cgi.FieldStorage() now supports the context management protocol. 2015-02-06 10:21:37 +02:00
Serhiy Storchaka 6cfb61f163 Issue #23392: Added tests for marshal C API that works with FILE*. 2015-02-06 09:00:44 +02:00
Serhiy Storchaka b51813403f Issue #23392: Added tests for marshal C API that works with FILE*. 2015-02-06 08:58:56 +02:00
Serhiy Storchaka 313ee59e49 Issue #23881: Only use entry-values with gdb 7.4 in tests.
Fixes a regression in issue #22765.  Patch by Vinson Lee.
2015-02-06 08:35:54 +02:00
Serhiy Storchaka 17d337bc7a Issue #23881: Only use entry-values with gdb 7.4 in tests.
Fixes a regression in issue #22765.  Patch by Vinson Lee.
2015-02-06 08:35:20 +02:00
Benjamin Peterson 6c62ac1a01 merge 3.4 (#22735) 2015-02-05 22:29:46 -05:00
Benjamin Peterson 104b9e0cca fix many custom mro() edge cases and improve code quality (#22735)
Patch by Eldar Abusalimov.
2015-02-05 22:29:14 -05:00
Victor Stinner f92766c3b2 (Merge 3.4) test_multiprocessing: tolerate a delta of 30 ms because of bad
clock resolution on Windows
2015-02-05 14:25:53 +01:00
Victor Stinner aad7b2e4f5 test_multiprocessing: tolerate a delta of 30 ms because of bad clock resolution
on Windows
2015-02-05 14:25:05 +01:00
Serhiy Storchaka 71f5b71cfb Issue #18982: Add tests for CLI of the calendar module. 2015-02-05 15:17:49 +02:00
Serhiy Storchaka aef859c5ee Issue #18982: Add tests for CLI of the calendar module. 2015-02-05 15:14:35 +02:00
Ned Deily 7aa4428835 Issue #23345: merge from 3.4 2015-02-05 17:24:00 +11:00
Ned Deily 05784a706e Issue #23345: Prevent test_ssl failures with large OpenSSL patch level
values (like 0.9.8zc).
2015-02-05 17:20:13 +11:00
Gregory P. Smith 7c60eb85d8 Make the stdlib test suite helper test.script_helper._assert_python no longer
pass -I or -E to the child process by default when the environment is required
for the child process interpreter to function properly.
2015-02-04 17:16:30 -08:00
Gregory P. Smith c3493aa951 Make the stdlib test suite helper test.script_helper._assert_python no longer
pass -I or -E to the child process by default when the environment is required
for the child process interpreter to function properly.
2015-02-04 17:10:19 -08:00
Victor Stinner c028b95789 Merge 3.4 (asyncio) 2015-02-04 14:51:50 +01:00
Victor Stinner 2fc2313038 asyncio: Only call _check_resolved_address() in debug mode
* _check_resolved_address() is implemented with getaddrinfo() which is slow
* If available, use socket.inet_pton() instead of socket.getaddrinfo(), because
  it is much faster

Microbenchmark (timeit) on Fedora 21 (Python 3.4, Linux 3.17, glibc 2.20) to
validate the IPV4 address "127.0.0.1" or the IPv6 address "::1":

* getaddrinfo() 10.4 usec per loop
* inet_pton(): 0.285 usec per loop

On glibc older than 2.14, getaddrinfo() always requests the list of all local
IP addresses to the kernel (using a NETLINK socket). getaddrinfo() has other
known issues, it's better to avoid it when it is possible.
2015-02-04 14:51:23 +01:00
Gregory P. Smith 8f2fae1e7d Skip some tests that require a subinterpreter launched with -E or -I when the
interpreter under test is being run in an environment that requires the use of
environment variables such as PYTHONHOME in order to function at all.

Adds a test.script_helper.interpreter_requires_environment() function
to be used with @unittest.skipIf on stdlib test methods requiring this.
2015-02-04 01:04:31 -08:00
Gregory P. Smith b9a3dd9dfb Skip some tests that require a subinterpreter launched with -E or -I when the
interpreter under test is being run in an environment that requires the use of
environment variables such as PYTHONHOME in order to function at all.

Adds a private test.script_helper._interpreter_requires_environment() function
to be used with @unittest.skipIf on stdlib test methods requiring this.
2015-02-04 00:59:40 -08:00
Stefan Krah 650c1e818d Issue #14203: Remove obsolete support for view==NULL in bytesiobuf_getbuffer()
and array_buffer_getbuf().
2015-02-03 21:43:23 +01:00
Berker Peksag ab53ab0a84 Issue #13128: Print response headers for CONNECT requests when debuglevel > 0.
Patch by Demian Brecht.
2015-02-03 12:22:11 +02:00
Berker Peksag 50457403f2 Issue #23358: Add missing BaseServer entry to socketserver.__all__.
Patch by Martin Panter.
2015-02-03 11:55:32 +02:00
Berker Peksag 3265344a85 Issue #23358: Add missing BaseServer entry to socketserver.__all__.
Patch by Martin Panter.
2015-02-03 11:55:09 +02:00
Serhiy Storchaka 87d0b45485 Issue #15381: Optimized io.BytesIO to make less allocations and copyings. 2015-02-03 11:30:10 +02:00
Serhiy Storchaka 83e802796c Issue #22818: Splitting on a pattern that could match an empty string now
raises a warning.  Patterns that can only match empty strings are now
rejected.
2015-02-03 11:04:19 +02:00
Serhiy Storchaka 32ca3dcb97 Issue #23099: Closing io.BytesIO with exported buffer is rejected now to
prevent corrupting exported buffer.
2015-02-03 09:30:51 +02:00
Serhiy Storchaka c057c3859c Issue #23099: Closing io.BytesIO with exported buffer is rejected now to
prevent corrupting exported buffer.
2015-02-03 02:00:18 +02:00
Serhiy Storchaka 7a27c97216 Issues #23363, #23364, #23365, #23366: Fixed itertools overflow tests.
Used PyMem_New to check overflow.
2015-02-03 01:50:31 +02:00
Serhiy Storchaka b5e8e57555 Issues #23363, #23364, #23365, #23366: Fixed itertools overflow tests.
Used PyMem_New to check overflow.
2015-02-03 01:35:10 +02:00
Serhiy Storchaka dee948b359 Issues #23363, #23364, #23365, #23366: Fixed itertools overflow tests.
Used PyMem_New to check overflow.
2015-02-03 01:34:09 +02:00
Benjamin Peterson 0b2a6dc42b merge 3.4 2015-02-02 17:47:31 -05:00
Benjamin Peterson b0ef78535a merge 3.3 2015-02-02 17:47:26 -05:00
Benjamin Peterson 1572944499 reduce memory usage of test (closes #23369) 2015-02-02 17:47:07 -05:00
Benjamin Peterson bcf527e0d6 merge 3.4 2015-02-02 14:22:19 -05:00
Benjamin Peterson f5f9c13551 adjust for py3k module renaming 2015-02-02 14:22:13 -05:00
Benjamin Peterson 5e69419ee4 merge 3.4 2015-02-02 14:06:29 -05:00
Benjamin Peterson 3356a2e2f0 _clear_type_cache is cpython-only 2015-02-02 14:06:11 -05:00
Benjamin Peterson f86d1fdab7 merge 3.4 (#21295) 2015-02-02 10:52:56 -05:00
Benjamin Peterson 7a66fc22ad revert lineno and col_offset changes from #16795 (closes #21295) 2015-02-02 10:51:20 -05:00
Benjamin Peterson 5d0bb852a2 merge 3.4 (#23364, #23363) 2015-02-01 21:36:01 -05:00
Benjamin Peterson c468b537cd merge 3.3 (#23364, #23363) 2015-02-01 21:35:34 -05:00
Benjamin Peterson 0eaabf1c05 check for overflows in permutations() and product() (closes #23363, closes #23364) 2015-02-01 21:34:07 -05:00
Benjamin Peterson 38d9772622 merge 3.4 (#23365) 2015-02-01 21:11:54 -05:00
Benjamin Peterson f635dc32b1 merge 3.3 (#23365) 2015-02-01 21:11:39 -05:00
Benjamin Peterson 6f082297b2 check for overflow in combinations_with_replacement (closes #23365) 2015-02-01 21:10:47 -05:00
Benjamin Peterson 4db56d5002 merge 3.4 (#23366) 2015-02-01 21:01:43 -05:00
Benjamin Peterson 819c4e9bc4 merge 3.3 (#23366) 2015-02-01 21:00:15 -05:00
Benjamin Peterson 4b40eeb339 detect overflow in combinations (closes #23366) 2015-02-01 20:59:00 -05:00
Benjamin Peterson ad9f99e41f merge 3.4 2015-02-01 20:18:29 -05:00
Benjamin Peterson 337578b242 fix tests on systems that can't validate python.org 2015-02-01 20:16:59 -05:00
Benjamin Peterson 83e814d852 merge 3.4 2015-02-01 18:02:21 -05:00
Benjamin Peterson c0b743a97b merge 3.3 2015-02-01 18:02:15 -05:00
Benjamin Peterson 68389eaa3f remove extra ws 2015-02-01 18:02:09 -05:00
Benjamin Peterson 71cf91cc09 merge 3.4 (#23369) 2015-02-01 18:00:19 -05:00
Benjamin Peterson 3675cd9db1 merge 3.3 (#23369) 2015-02-01 17:59:49 -05:00
Benjamin Peterson e3bfe19358 fix possible overflow in encode_basestring_ascii (closes #23369) 2015-02-01 17:53:53 -05:00
Stefan Krah 363af44a4a Issue #22445: PyBuffer_IsContiguous() now implements precise contiguity
tests, compatible with NumPy's NPY_RELAXED_STRIDES_CHECKING compilation
flag.  Previously the function reported false negatives for corner cases.
2015-02-01 14:53:54 +01:00
Serhiy Storchaka 260cd320a1 Merge heads 2015-01-31 12:23:01 +02:00
Victor Stinner 13a1c6022b Merge 3.4 (generator) 2015-01-31 11:08:40 +01:00
Serhiy Storchaka 08448a1f4d Issue #23326: Removed __ne__ implementations. Since fixing default __ne__
implementation in issue #21408 they are redundant.
2015-01-31 12:05:05 +02:00
Serhiy Storchaka 57f7db3122 Issue #22765: Fixed test_gdb failures. Supressed unexpected gdb output.
Patch by Bohuslav Kabrda.
2015-01-31 11:50:22 +02:00
Serhiy Storchaka fdc995336f Issue #22765: Fixed test_gdb failures. Supressed unexpected gdb output.
Patch by Bohuslav Kabrda.
2015-01-31 11:48:52 +02:00
Victor Stinner 26f7b8acdc Issue #23353: Fix the exception handling of generators in PyEval_EvalFrameEx().
At entry, save or swap the exception state even if PyEval_EvalFrameEx() is
called with throwflag=0. At exit, the exception state is now always restored or
swapped, not only if why is WHY_YIELD or WHY_RETURN. Patch co-written with
Antoine Pitrou.
2015-01-31 10:29:47 +01:00
Benjamin Peterson 9d4cbcc86b allow changing __class__ between a heaptype and non-heaptype in some cases (closes #22986)
Patch by Nathaniel Smith.
2015-01-30 13:33:42 -05:00
Victor Stinner 934fa344c8 Merge 3.4 (asyncio) 2015-01-30 01:21:06 +01:00
Victor Stinner f2e43cbbd4 Issue #23347, asyncio: send_signal(), terminate(), kill() don't check if the
transport was closed. The check broken a Tulip example and this limitation is
arbitrary. Check if _proc is None should be enough.

Enhance also close(): do nothing when called the second time.
2015-01-30 01:20:44 +01:00
Victor Stinner 698a9bd3ba Merge 3.4 (asyncio) 2015-01-30 00:11:55 +01:00
Victor Stinner 0698638d79 asyncio: Fix ResourceWarning in test_subprocess.test_proc_exit() 2015-01-30 00:11:42 +01:00
Victor Stinner a9373ec966 Merge 3.4 (asyncio) 2015-01-30 00:05:36 +01:00
Victor Stinner 47cd10d7a9 asyncio: sync with Tulip
Issue #23347: send_signal(), kill() and terminate() methods of
BaseSubprocessTransport now check if the transport was closed and if the
process exited.

Issue #23347: Refactor creation of subprocess transports. Changes on
BaseSubprocessTransport:

* Add a wait() method to wait until the child process exit
* The constructor now accepts an optional waiter parameter. The _post_init()
  coroutine must not be called explicitly anymore. It makes subprocess
  transports closer to other transports, and it gives more freedom if we want
  later to change completly how subprocess transports are created.
* close() now kills the process instead of kindly terminate it: the child
  process may ignore SIGTERM and continue to run. Call explicitly terminate()
  and wait() if you want to kindly terminate the child process.
* close() now logs a warning in debug mode if the process is still running and
  needs to be killed
* _make_subprocess_transport() is now fully asynchronous again: if the creation
  of the transport failed, wait asynchronously for the process eixt. Before the
  wait was synchronous. This change requires close() to *kill*, and not
  terminate, the child process.
* Remove the _kill_wait() method, replaced with a more agressive close()
  method. It fixes _make_subprocess_transport() on error.
  BaseSubprocessTransport.close() calls the close() method of pipe transports,
  whereas _kill_wait() closed directly pipes of the subprocess.Popen object
  without unregistering file descriptors from the selector (which caused severe
  bugs).

These changes simplifies the code of subprocess.py.
2015-01-30 00:05:19 +01:00
Victor Stinner 2647375cc9 Merge 3.4 (asyncio) 2015-01-30 00:04:27 +01:00
Victor Stinner 978a9afc6a Issue #23243, asyncio: Emit a ResourceWarning when an event loop or a transport
is not explicitly closed. Close also explicitly transports in test_sslproto.
2015-01-29 17:50:58 +01:00
Stefan Krah 29b40c1569 Issue #22668: Merge from 3.4. 2015-01-29 17:40:59 +01:00
Stefan Krah 3c0cf05901 Issue #22668: Remove endianness assumption in test. 2015-01-29 17:33:31 +01:00
Stefan Krah fc341bd4c5 Whitespace. 2015-01-29 14:33:37 +01:00
Stefan Krah f5324d7074 Closes #22668: Merge from 3.4. 2015-01-29 14:29:51 +01:00
Stefan Krah fa5d6a5ff3 Issue #22668: Ensure that format strings survive slicing after casting. 2015-01-29 14:27:23 +01:00
Victor Stinner 6d14405fdb Merge 3.4 (asyncio) 2015-01-29 14:15:42 +01:00
Victor Stinner 2934262fd3 asyncio: sync with Tulip
* Cleanup gather(): use cancelled() method instead of using private Future
  attribute
* Fix _UnixReadPipeTransport and _UnixWritePipeTransport. Only start reading
  when connection_made() has been called.
* Issue #23333: Fix BaseSelectorEventLoop._accept_connection(). Close the
  transport on error. In debug mode, log errors using call_exception_handler()
2015-01-29 14:15:19 +01:00
Victor Stinner 52fa138aac Merge 3.4 (asyncio) 2015-01-29 02:57:10 +01:00
Victor Stinner 47bbea7124 asyncio: sync with Tulip
* _SelectorTransport constructor: extra parameter is now optional
* Fix _SelectorDatagramTransport constructor. Only start reading after
  connection_made() has been called.
* Fix _SelectorSslTransport.close(). Don't call protocol.connection_lost() if
  protocol.connection_made() was not called yet: if the SSL handshake failed or
  is still in progress. The close() method can be called if the creation of the
  connection is cancelled, by a timeout for example.
2015-01-29 02:56:05 +01:00
Victor Stinner bea0a28439 Merge 3.4 (asyncio) 2015-01-29 00:55:46 +01:00
Victor Stinner fa73779b0a asyncio: Fix _SelectorSocketTransport constructor
Only start reading when connection_made() has been called:
protocol.data_received() must not be called before protocol.connection_made().
2015-01-29 00:36:51 +01:00
Victor Stinner b507cbaac5 asyncio: Fix SSLProtocol.eof_received()
Wake-up the waiter if it is not done yet.
2015-01-29 00:35:56 +01:00
Victor Stinner bf9765186d Merge 3.4 (asyncio) 2015-01-28 00:30:51 +01:00
Victor Stinner ff018e406c asyncio: sync with Tulip
* Remove unused SSLProtocol._closing attribute
* test_sslproto: skip test if ssl module is missing
* Python issue #23208: Don't use the traceback of the current handle if we
  already know the traceback of the source. The handle may be more revelant,
  but having 3 tracebacks (handle, source, exception) becomes more difficult to
  read. The handle may be preferred later but it requires more work to make
  this choice.
2015-01-28 00:30:40 +01:00
Serhiy Storchaka 4dbc305002 Issue #23055: Fixed a buffer overflow in PyUnicode_FromFormatV. Analysis
and fix by Guido Vranken.
2015-01-27 22:18:46 +02:00
Victor Stinner f2be23d329 Issue #22286, #23321: Fix failing test on Windows code page 932
There was a bug which was fixed. The unit test was also wrong.
2015-01-26 23:26:11 +01:00
Victor Stinner d7770d9bec Merge 3.4 (asyncio) 2015-01-26 15:04:15 +01:00
Victor Stinner e0fd157ba0 Issue #23293, asyncio: Rewrite IocpProactor.connect_pipe() as a coroutine
Use a coroutine with asyncio.sleep() instead of call_later() to ensure that the
schedule call is cancelled.

Add also a unit test cancelling connect_pipe().
2015-01-26 15:04:03 +01:00
Serhiy Storchaka a14f7d239f Issue #14099: Restored support of writing ZIP files to tellable but
non-seekable streams.
2015-01-26 14:01:27 +02:00
Serhiy Storchaka b76bcc4ffc Issue #14099: Backout changeset e5bb3044402b (except adapted tests). 2015-01-26 13:45:39 +02:00
Serhiy Storchaka 47efb4a5dc Issue #19361: JSON decoder now raises JSONDecodeError instead of ValueError. 2015-01-26 13:16:30 +02:00
Serhiy Storchaka c959b0cd30 Issue #18518: timeit now rejects statements which can't be compiled outside
a function or a loop (e.g. "return" or "break").
2015-01-26 12:09:59 +02:00
Serhiy Storchaka 2bef58577f Issue #18518: timeit now rejects statements which can't be compiled outside
a function or a loop (e.g. "return" or "break").
2015-01-26 12:09:17 +02:00
Serhiy Storchaka 230586739c Issue #23094: Fixed readline with frames in Python implementation of pickle. 2015-01-26 10:37:44 +02:00
Serhiy Storchaka 21d7533c4c Issue #23094: Fixed readline with frames in Python implementation of pickle. 2015-01-26 10:37:01 +02:00
Serhiy Storchaka 0e992b352a Issue #7665: Fixed tests test_ntpath and test_urllib2 when ran in the
directory containing a backslash.
2015-01-26 10:26:29 +02:00
Serhiy Storchaka 5106d044ec Issue #7665: Fixed tests test_ntpath and test_urllib2 when ran in the
directory containing a backslash.
2015-01-26 10:26:14 +02:00
Serhiy Storchaka ffd48c9e3d Issue #23268: Fixed bugs in the comparison of ipaddress classes. 2015-01-26 10:11:39 +02:00
Serhiy Storchaka f186e128b6 Issue #23268: Fixed bugs in the comparison of ipaddress classes. 2015-01-26 10:11:16 +02:00
Serhiy Storchaka 34af5023fc Issue #21408: The default __ne__() now returns NotImplemented if __eq__()
returned NotImplemented.  Removed incorrect implementations of __ne__().
2015-01-26 10:04:15 +02:00
Serhiy Storchaka f4b7a02e93 Issue #21408: The default __ne__() now returns NotImplemented if __eq__()
returned NotImplemented.  Removed incorrect implementations of __ne__().
2015-01-26 09:57:07 +02:00
Serhiy Storchaka 4e1942bcd8 Don't use deprecated assertEquals. 2015-01-26 09:28:11 +02:00
Benjamin Peterson 60a2f49c8c merge 3.4 (#19996) 2015-01-25 23:31:58 -05:00
Benjamin Peterson 155ceaa454 handle headers with no key (closes #19996)
Patch by Cory Benfield.
2015-01-25 23:30:30 -05:00
Raymond Hettinger 93035c44fd Issue #23119: Simplify setobject by inlining the special case for unicode equality testing. 2015-01-25 16:12:49 -08:00
Serhiy Storchaka 07985ef387 Issue #22286: The "backslashreplace" error handlers now works with
decoding and translating.
2015-01-25 22:56:57 +02:00
Senthil Kumaran cc522bdd0c merge from 3.4
Increase http.client.HTTPConnection test coverage.

Added a new tunnel test to verify setting of _tunnel_host, _tunnel_port,
_tunnel_headers attributes on HTTPConnection object.
2015-01-24 19:26:18 -08:00
Senthil Kumaran e6cc70123e Increase http.client.HTTPConnection test coverage.
Added a new tunnel test to verify setting of _tunnel_host, _tunnel_port,
_tunnel_headers attributes on HTTPConnection object.
2015-01-24 19:24:59 -08:00
Ethan Furman b95b56150f Issue20284: Implement PEP461 2015-01-23 20:05:18 -08:00
Benjamin Peterson 8861502e07 prefer server alpn ordering over the client's 2015-01-23 17:30:26 -05:00
Benjamin Peterson cca2732a82 add support for ALPN (closes #20188) 2015-01-23 16:35:37 -05:00
Benjamin Peterson 9d8a3ad02a http.client: disable Nagle's algorithm (closes #23302)
Patch by Demian Brecht.
2015-01-23 11:02:57 -05:00
Gregory P. Smith d775bcabe7 revert 7b833bd1f509. I misread the side effect that the code was triggering.
*any* kwarg supplied to _assert_python causes it to not append -E to the
command line flags so without='-E' does effectively work.
2015-01-22 22:56:06 -08:00
Gregory P. Smith 48e810069d revert 7b833bd1f509. I misread the side effect that the code was triggering.
*any* kwarg supplied to _assert_python causes it to not append -E to the
command line flags so without='-E' does effectively work.
2015-01-22 22:55:00 -08:00
Gregory P. Smith d16478095c Remove the unimplemented but ignored without='-E' parameters being passed to
script_helper.assert_python_failure().  No such feature has ever existed,
thus it doesn't do what the comment claims.  (It does add a 'without'
variable to the environment of the child process but that was not intended)
2015-01-22 22:05:00 -08:00
Gregory P. Smith 566646133e Remove the unimplemented but ignored without='-E' parameters being passed to
script_helper.assert_python_failure().  No such feature has ever existed,
thus it doesn't do what the comment claims.  (It does add a 'without'
variable to the environment of the child process but that was not intended)
2015-01-22 22:04:16 -08:00
Gregory P. Smith 058fb7a884 Only pass -E to the child interpreter if our interpreter was running in that
mode.  Explicitly remove the PYTHONFAULTHANDLER environment variable before
launching a child interpreter when its presence would impact the test (the
reason -E was being used in the first place).

This enables running the test in an environment where other Python environment  variables must be set in order for things to run (such as using PYTHONHOME to
tell an embedded interpreter where it should think it lives).
2015-01-22 17:53:24 -08:00
Gregory P. Smith fe7c5d6e4e Only pass -E to the child interpreter if our interpreter was running in that
mode.  Explicitly remove the PYTHONFAULTHANDLER environment variable before
launching a child interpreter when its presence would impact the test (the
reason -E was being used in the first place).

This enables running the test in an environment where other Python environment
variables must be set in order for things to run (such as using PYTHONHOME to
tell an embedded interpreter where it should think it lives).
2015-01-22 17:33:28 -08:00
Gregory P. Smith 1d51ba6a6e Break up TestCommandLine.test_env_var into four distinct tests. 2015-01-22 14:38:26 -08:00
Gregory P. Smith 34cd2ae69f Break up TestCommandLine.test_env_var into four distinct tests. 2015-01-22 14:38:00 -08:00
Victor Stinner f6228f02d7 Issue #23009: Add missing "import sys" in test_selectors 2015-01-22 09:35:23 +01:00
Victor Stinner f07717c105 Merge 3.4 2015-01-22 09:09:24 +01:00
Victor Stinner 14d45c06eb Issue #23009: Skip test_selectors.test_empty_select() on Windows 2015-01-22 09:07:36 +01:00
Victor Stinner 91d11bbb2d Merge 3.4 (asyncio) 2015-01-21 23:40:19 +01:00
Victor Stinner 442b0adccd asyncio: pyflakes, remove unused import
tests: Remove unused function; inline another function
2015-01-21 23:39:16 +01:00
Victor Stinner cd0f7f9832 asyncio: Enhance BaseProactorEventLoop._loop_self_reading()
* Handle correctly CancelledError: just exit
* On error, log the exception and exit

Don't try to close the event loop, it is probably running and so it cannot be
closed.
2015-01-21 23:38:37 +01:00
Gregory P. Smith afb507c002 Add the command line to the AssertionError raised by test.script_helper's
Python subprocess failure assertion error messages for easier debugging.

Adds a unittest for test.script_helper to confirm that this code works as
it is otherwise uncovered by an already passing test suite that uses it. :)
2015-01-20 17:21:41 -08:00
Gregory P. Smith b5684c48e1 Add the command line to the AssertionError raised by test.script_helper's
Python subprocess failure assertion error messages for easier debugging.

Adds a unittest for test.script_helper to confirm that this code works as
it is otherwise uncovered by an already passing test suite that uses it. :)
2015-01-20 17:19:47 -08:00
Zachary Ware b4826c3fd1 Merge with 3.4 (closes #23280) 2015-01-20 14:11:38 -06:00
Zachary Ware b176d40398 Issue #23280: Fix docstrings for binascii.(un)hexlify 2015-01-20 13:59:46 -06:00
Serhiy Storchaka b53f0fbf96 Issue #23266: Restore the performance of ipaddress.collapse_addresses() whith
duplicated addresses and simplify the code.
2015-01-19 00:41:32 +02:00
Raymond Hettinger 1202a4733e Issue 23261: Clean-up the hack to store the set.pop() search finger in a hash field instead of the setobject. 2015-01-18 13:12:42 -08:00
Serhiy Storchaka a556af77a7 Fixed tests for issue #23133 (pickling of IPv4Network was not tested). 2015-01-18 22:56:47 +02:00
Serhiy Storchaka 5f38f5c502 Issue #23133: Pickling of ipaddress objects now produces more compact and
portable representation.
2015-01-18 22:36:33 +02:00
Antoine Pitrou e6f250ed90 Issue #23266: Much faster implementation of ipaddress.collapse_addresses() when there are many non-consecutive addresses. 2015-01-18 16:22:47 +01:00
Serhiy Storchaka 82e07b92b3 Issue #23181: More "codepoint" -> "code point". 2015-01-18 11:33:31 +02:00
Serhiy Storchaka d3faf43f9b Issue #23181: More "codepoint" -> "code point". 2015-01-18 11:28:37 +02:00
Ned Deily 3bbb37e09b Issue #23211: Fix patch for 3.4 differences. 2015-01-17 17:31:13 -08:00
Ned Deily cad3eb6d5d Issue #23211: merge from 3.4 2015-01-17 16:59:50 -08:00
Ned Deily 1e012e6c7f Issue #23211: Workaround test_logging failure on some OS X 10.6 systems:
getaddrinfo("localhost") can fail depending on the name server configuration,
use "127.0.0.0" instead.
2015-01-17 16:57:19 -08:00
Antoine Pitrou 1285c9b782 Issue #21817: When an exception is raised in a task submitted to a ProcessPoolExecutor, the remote traceback is now displayed in the parent process.
Patch by Claudiu Popa.
2015-01-17 20:02:14 +01:00
Antoine Pitrou 26795baaa8 Issue #15955: Add an option to limit output size when decompressing LZMA data.
Patch by Nikolaus Rath and Martin Panter.
2015-01-17 16:22:18 +01:00
Benjamin Peterson 5b883296f6 merge 3.4 (#22986) 2015-01-16 20:46:37 -05:00
Benjamin Peterson bd341629b0 capitialize "HttpOnly" and "Secure" as they appear in the standard and other impls (closes #23250)
Patch by Jon Dufresne.
2015-01-16 20:43:55 -05:00
Victor Stinner 5f9fd1dd79 Merge 3.4 (asyncio) 2015-01-15 22:53:21 +01:00
Victor Stinner f716d8b7a5 Issue #22685: Fix test_pause_reading() of asyncio/test_subprocess
Override the connect_read_pipe() method of the loop to mock immediatly
pause_reading() and resume_reading() methods.

The test failed randomly on FreeBSD 9 buildbot and on Windows using trollius.
2015-01-15 22:52:59 +01:00
Victor Stinner a39eb0f42b Merge 3.4 (asyncio) 2015-01-15 16:29:23 +01:00
Victor Stinner 922bc2ca12 Closes #23219: cancelling asyncio.wait_for() now cancels the task 2015-01-15 16:29:10 +01:00
Victor Stinner 9fef5244eb Merge 3.4 (asyncio) 2015-01-15 14:25:08 +01:00
Victor Stinner ab8848bc2a asyncio: Close transports in tests
* Use test_utils.run_briefly() to execute pending calls to really close
  transports
* sslproto: mock also _SSLPipe.shutdown(), it's need to close the transport
* pipe test: the test doesn't close explicitly the PipeHandle, so ignore
  the warning instead
* test_popen: use the context manager ("with p:") to explicitly close pipes
2015-01-15 14:24:55 +01:00
Victor Stinner 7d78d0d91c Merge 3.4 (asyncio) 2015-01-15 13:23:36 +01:00
Victor Stinner 02392c9282 Issue #23243: Close explicitly transports in asyncio tests 2015-01-15 13:18:32 +01:00
Victor Stinner 33cb0396e8 Issue #23243: Close explicitly event loops in asyncio tests 2015-01-15 13:17:34 +01:00
Victor Stinner 41ed958ee6 Issue #23243: Fix asyncio._UnixWritePipeTransport.close()
Do nothing if the transport is already closed. Before it was not possible to
close the transport twice.
2015-01-15 13:16:50 +01:00
Victor Stinner 93e42c03b7 Merge 3.4 (asyncio) 2015-01-15 00:05:18 +01:00
Victor Stinner 29ad0111bd asyncio: sync with Tulip
* PipeHandle now uses None instead of -1 for a closed handle
* Sort imports in windows_utils.
* Fix test_events on Python older than 3.5. Skip SSL tests on the
  ProactorEventLoop if ssl.MemoryIO is missing
* Fix BaseEventLoop._create_connection_transport(). Close the transport if the
  creation of the transport (if the waiter) gets an exception.
* _ProactorBasePipeTransport now sets _sock to None when the transport is
  closed.
* Fix BaseSubprocessTransport.close(). Ignore pipes for which the protocol is
  not set yet (still equal to None).
* TestLoop.close() now calls the close() method of the parent class
  (BaseEventLoop).
* Cleanup BaseSelectorEventLoop: create the protocol on a separated line for
  readability and ease debugging.
* Fix BaseSubprocessTransport._kill_wait(). Set the _returncode attribute, so
  close() doesn't try to terminate the process.
* Tests: explicitly close event loops and transports
* UNIX pipe transports: add closed/closing in repr(). Add "closed" or "closing"
  state in the __repr__() method of _UnixReadPipeTransport and
  _UnixWritePipeTransport classes.
2015-01-15 00:04:21 +01:00
Victor Stinner f664118817 Merge 3.4 (asyncio) 2015-01-14 17:00:29 +01:00
Victor Stinner 177e9f0855 Issue #23197, asyncio: On SSL handshake failure, check if the waiter is
cancelled before setting its exception.

* Add unit tests for this case.
* Cleanup also sslproto.py
2015-01-14 16:56:20 +01:00
Victor Stinner e54dd0b92b Merge 3.4 (asyncio) 2015-01-14 02:13:51 +01:00
Victor Stinner f651a60407 Python issue #23173: sync with Tulip
* If an exception is raised during the creation of a subprocess, kill the
  subprocess (close pipes, kill and read the return status). Log an error in
  such case.
* Fix SubprocessStreamProtocol.connection_made() to handle cancelled waiter.
  Add unit test cancelling subprocess methods.
2015-01-14 02:10:33 +01:00
Victor Stinner 81a04f7ad4 Merge 3.4 (asyncio: new SSL implementation) 2015-01-14 00:19:55 +01:00
Victor Stinner 231b404cb0 Issue #22560: New SSL implementation based on ssl.MemoryBIO
The new SSL implementation is based on the new ssl.MemoryBIO which is only
available on Python 3.5. On Python 3.4 and older, the legacy SSL implementation
(using SSL_write, SSL_read, etc.) is used. The proactor event loop only
supports the new implementation.

The new asyncio.sslproto module adds _SSLPipe, SSLProtocol and
_SSLProtocolTransport classes. _SSLPipe allows to "wrap" or "unwrap" a socket
(switch between cleartext and SSL/TLS).

Patch written by Antoine Pitrou. sslproto.py is based on gruvi/ssl.py of the
gruvi project written by Geert Jansen.

This change adds SSL support to ProactorEventLoop on Python 3.5 and newer!

It becomes also possible to implement STARTTTLS: switch a cleartext socket to
SSL.
2015-01-14 00:19:09 +01:00
Victor Stinner 7d5a95627b Merge 3.4 (asyncio) 2015-01-13 16:13:36 +01:00
Victor Stinner 9036e49ba1 Tulip issue 184: Fix test_pipe() on Windows
Pass explicitly the event loop to StreamReaderProtocol.
2015-01-13 16:13:06 +01:00
Benjamin Peterson 610bc6a211 merge 3.4 (#23221) 2015-01-13 09:20:31 -05:00
Benjamin Peterson 82f34ada45 fix instances of consecutive articles (closes #23221)
Patch by Karan Goel.
2015-01-13 09:17:24 -05:00
Victor Stinner 458fc6f98c Issue #23209, #23225: selectors.BaseSelector.get_key() now raises a
RuntimeError if the selector is closed. And selectors.BaseSelector.close() now
clears its internal reference to the selector mapping to break a reference
cycle. Initial patch written by Martin Richard.
2015-01-13 10:00:55 +01:00
Victor Stinner 38dc250521 Issue #23209, #23225: selectors.BaseSelector.close() now clears its internal
reference to the selector mapping to break a reference cycle. Initial patch
written by Martin Richard.
2015-01-13 09:58:33 +01:00
Antoine Pitrou 17cba7daf5 Issue #19777: Provide a home() classmethod on Path objects.
Contributed by Victor Salgado and Mayank Tripathi.
2015-01-12 21:03:41 +01:00
Antoine Pitrou dc3eaa80d4 Issue #23206: Make ``json.dumps(..., ensure_ascii=False)`` as fast as the default case of ``ensure_ascii=True``. Patch by Naoki Inada. 2015-01-11 16:41:01 +01:00
Mark Dickinson a5d0c7c2fd Issue #23185: add math.inf and math.nan constants. 2015-01-11 11:55:29 +00:00
Victor Stinner e969439862 Issue #19776: Fix test_pathlib.test_expanduser()
Skip users with an empty home directory.
2015-01-10 09:00:20 +01:00
Victor Stinner 3cd440df22 Merge 3.4 (asyncio) 2015-01-09 21:32:24 +01:00
Victor Stinner 70db9e428a asyncio: sync with Tulip
* Tulip issue 184: FlowControlMixin constructor now get the event loop if the
  loop parameter is not set. Add unit tests to ensure that constructor of
  StreamReader and StreamReaderProtocol classes get the event loop.
* Remove outdated TODO/XXX
2015-01-09 21:32:05 +01:00
Brett Cannon 02d8454002 Issue #23014: Make importlib.abc.Loader.create_module() required when
importlib.abc.Loader.exec_module() is also defined.

Before this change, create_module() was optional **and** could return
None to trigger default semantics. This change now reduces the
options for choosing default semantics to one and in the most
backporting-friendly way (define create_module() to return None).
2015-01-09 11:39:21 -05:00
Victor Stinner 12985b5da7 Merge 3.4 (asyncio) 2015-01-09 00:09:35 +01:00
Victor Stinner 15cc678d89 asyncio: Truncate to 80 columns 2015-01-09 00:09:10 +01:00