Commit Graph

35570 Commits

Author SHA1 Message Date
Antoine Pitrou 47e40429fb Issue #20421: Add a .version() method to SSL sockets exposing the actual protocol version in use. 2014-09-04 21:00:10 +02:00
Łukasz Langa 53c87d1be2 Merge fix for #19546: configparser exceptions leak implementation details 2014-09-04 01:42:29 -07:00
Łukasz Langa 949053bff2 Fix #19546: onfigparser exceptions expose implementation details. Patch by Claudiu Popa. 2014-09-04 01:36:33 -07:00
Victor Stinner ece38d9497 Issue #22334: Add debug traces to test_tcl 2014-09-04 09:53:16 +02:00
Victor Stinner b39b918baa Issue #22333: Add debug traces to test_threaded_import 2014-09-04 09:38:38 +02:00
Terry Jan Reedy 2fd145a3e9 Merge with 3.4 2014-09-03 19:29:31 -04:00
Terry Jan Reedy 70349141ee Issue #22051: remove unneeded reload that allowed bad code. 2014-09-03 19:29:17 -04:00
Victor Stinner 8231d55cd4 Fix timeout in test.fork_wait 2014-09-04 01:02:17 +02:00
Victor Stinner 150b06fa19 (Merge 3.4) Issue #21440: test_zipfile: replace last direct calls to
os.remove() with support.unlink()
2014-09-04 00:51:25 +02:00
Victor Stinner 88b215e20f Issue #21440: test_zipfile: replace last direct calls to os.remove() with
support.unlink()
2014-09-04 00:51:09 +02:00
Victor Stinner 57004c696a Issue #21440: Backport changeset 4ebf97299b18 to branch 3.4, use
support.rmtree() and support.unlink() in test_zipfile & test_tarfile
2014-09-04 00:49:01 +02:00
Victor Stinner cde4517112 (Merge 3.4) Issue #20957: test_smtpnet now uses support.transient_internet() to
call check_ssl_verifiy(), so only test_connect_using_sslcontext_verified() is
skipped if smtp.gmail.com cannot be joined, not the whole file.
2014-09-04 00:36:09 +02:00
Victor Stinner 19c899c1b1 Issue #20957: test_smtpnet now uses support.transient_internet() to call
check_ssl_verifiy(), so only test_connect_using_sslcontext_verified() is
skipped if smtp.gmail.com cannot be joined, not the whole file.
2014-09-04 00:35:43 +02:00
Victor Stinner e96c83bde1 (Merge 3.4) Issue #22332: test_multiprocessing_main_handling is now skipped if
sem_open implementation is broken (ex: skipped on FreeBSD 6.4).
2014-09-03 23:48:37 +02:00
Victor Stinner 2bb8a08159 Issue #22332: test_multiprocessing_main_handling is now skipped if sem_open
implementation is broken (ex: skipped on FreeBSD 6.4).
2014-09-03 23:48:08 +02:00
Victor Stinner a6b6bba5ed (Merge 3.4) Issue #22331: Skip test_interrupted_write_text() on FreeBSD older
than 8.0
2014-09-03 23:33:43 +02:00
Victor Stinner 6ab728612d Issue #22331: Skip test_interrupted_write_text() on FreeBSD older than 8.0 2014-09-03 23:32:28 +02:00
Terry Jan Reedy a4cc528752 Issue #21933: Merge with 3.4 2014-09-03 16:18:34 -04:00
Terry Jan Reedy c6a1c02cce Issue #21933: Users can now change the font size for example code.
Original patch by Lita Cho.
2014-09-03 16:17:41 -04:00
Victor Stinner ae58649721 Issue #22043: time.monotonic() is now always available
threading.Lock.acquire(), threading.RLock.acquire() and socket operations now
use a monotonic clock, instead of the system clock, when a timeout is used.
2014-09-02 23:18:25 +02:00
Berker Peksag a42ad6bf84 Remove unused imports. 2014-09-01 12:33:12 +03:00
Berker Peksag a7614d08bf Issue #19447: Suppress output of py_compile.compile(). 2014-09-01 12:29:53 +03:00
Jason R. Coombs 311321edc1 #22315: Use advertised API for OSError 2014-08-31 17:42:20 -04:00
Jason R. Coombs d28c5f00ef #22315: Use an existent directory for 'src' to trigger appropriate behavior. 2014-08-31 17:51:22 -04:00
Jason R. Coombs 47f44c9309 #22315: Provide an actual directory during test invocation. 2014-08-31 17:37:35 -04:00
Jason R. Coombs e572ce3fb5 #22315: Use technique outlined in test_file_util 2014-08-31 17:31:32 -04:00
Jason R. Coombs 4b02e7041c #22315: Add test to capture the failure. 2014-08-31 15:02:42 -04:00
Jason R. Coombs 1be2e82c57 Correct indent 2014-08-31 15:00:47 -04:00
Jason R. Coombs b4efbe8a58 Remove unused import 2014-08-31 13:43:02 -04:00
Guido van Rossum cfd4661e78 Closes #21527: Add default number of workers to ThreadPoolExecutor. (Claudiu Popa.) 2014-09-02 10:39:18 -07:00
Berker Peksag 9425c05bab Remove unused imports. 2014-09-01 12:33:41 +03:00
Berker Peksag c85b7d3cd2 Issue #19447: Suppress output of py_compile.compile(). 2014-09-01 12:30:17 +03:00
Jason R. Coombs 71a8eed615 Merge with 3.4; Closes #22315 2014-08-31 18:02:18 -04:00
Benjamin Peterson c49a6aa1f0 merge 3.4 2014-08-31 17:22:27 -04:00
Victor Stinner de993bd9b6 (Merge 3.4) asyncio, Tulip issue 205: Fix a race condition in
BaseSelectorEventLoop.sock_connect()

There is a race condition in create_connection() used with wait_for() to have a
timeout. sock_connect() registers the file descriptor of the socket to be
notified of write event (if connect() raises BlockingIOError). When
create_connection() is cancelled with a TimeoutError, sock_connect() coroutine
gets the exception, but it doesn't unregister the file descriptor for write
event. create_connection() gets the TimeoutError and closes the socket.

If you call again create_connection(), the new socket will likely gets the same
file descriptor, which is still registered in the selector. When sock_connect()
calls add_writer(), it tries to modify the entry instead of creating a new one.

This issue was originally reported in the Trollius project, but the bug comes
from Tulip in fact (Trollius is based on Tulip):
https://bitbucket.org/enovance/trollius/issue/15/after-timeouterror-on-wait_for

This change fixes the race condition. It also makes sock_connect() more
reliable (and portable) is sock.connect() raises an InterruptedError.
2014-08-31 15:08:21 +02:00
Victor Stinner d5aeccf976 asyncio, Tulip issue 205: Fix a race condition in BaseSelectorEventLoop.sock_connect()
There is a race condition in create_connection() used with wait_for() to have a
timeout. sock_connect() registers the file descriptor of the socket to be
notified of write event (if connect() raises BlockingIOError). When
create_connection() is cancelled with a TimeoutError, sock_connect() coroutine
gets the exception, but it doesn't unregister the file descriptor for write
event. create_connection() gets the TimeoutError and closes the socket.

If you call again create_connection(), the new socket will likely gets the same
file descriptor, which is still registered in the selector. When sock_connect()
calls add_writer(), it tries to modify the entry instead of creating a new one.

This issue was originally reported in the Trollius project, but the bug comes
from Tulip in fact (Trollius is based on Tulip):
https://bitbucket.org/enovance/trollius/issue/15/after-timeouterror-on-wait_for

This change fixes the race condition. It also makes sock_connect() more
reliable (and portable) is sock.connect() raises an InterruptedError.
2014-08-31 15:07:57 +02:00
R David Murray b10be15508 Merge #22215: have the smtplib 'quit' command reset the state. 2014-08-30 16:55:45 -04:00
R David Murray 0cff49fcf9 #22215: have the smtplib 'quit' command reset the state.
Without this reset, starttls would fail if a connect/starttls was done after a
quit, because smtplib assumed the existing value of emspt_features was
accurate, but it gets reset when starttls completes (and the new value does
not contain the starttls capability, since tls is already started at that
point).  (There may be additional places where this lack of reset was an
issue as well.)

Patch by Milan Oberkirch.
2014-08-30 16:51:59 -04:00
Antoine Pitrou 5ce8f35931 Issue #22098: ctypes' BigEndianStructure and LittleEndianStructure now define an empty __slots__ so that subclasses don't always get an instance dict.
Patch by Claudiu Popa.
2014-08-30 00:37:18 +02:00
Antoine Pitrou fa9211b11d Issue #22185: Fix an occasional RuntimeError in threading.Condition.wait() caused by mutation of the waiters queue without holding the lock.
Patch by Doug Zongker.
2014-08-29 23:27:33 +02:00
Antoine Pitrou a64b92edd3 Issue #22185: Fix an occasional RuntimeError in threading.Condition.wait() caused by mutation of the waiters queue without holding the lock.
Patch by Doug Zongker.
2014-08-29 23:26:36 +02:00
Berker Peksag 0dc10e0d1c Issue #22182: Use e.args to unpack exceptions correctly in distutils.file_util.move_file.
Patch by Claudiu Popa.
2014-08-29 07:09:25 +03:00
Berker Peksag 6685883c02 Issue #22182: Use e.args to unpack exceptions correctly in distutils.file_util.move_file.
Patch by Claudiu Popa.
2014-08-29 07:07:35 +03:00
Victor Stinner e6128a4a80 (Merge 3.4) asyncio, Tulip issue 201: Fix a race condition in wait_for()
Don't raise a TimeoutError if we reached the timeout and the future completed
in the same iteration of the event loop. A side effect of the bug is that
Queue.get() looses items.
2014-08-28 11:19:46 +02:00
Victor Stinner 59e0802301 asyncio, Tulip issue 201: Fix a race condition in wait_for()
Don't raise a TimeoutError if we reached the timeout and the future completed
in the same iteration of the event loop. A side effect of the bug is that
Queue.get() looses items.
2014-08-28 11:19:25 +02:00
Gregory P. Smith a232613679 The webbrowser module now uses subprocess's start_new_session=True rather
than a potentially risky preexec_fn=os.setsid call.
2014-08-27 09:41:05 -07:00
Gregory P. Smith feac3980ce The webbrowser module now uses subprocess's start_new_session=True rather
than a potentially risky preexec_fn=os.setsid call.
2014-08-27 09:34:38 -07:00
Victor Stinner 7cea44d3cf Issue #22042: Fix test_signal on Windows 2014-08-27 14:02:36 +02:00
Victor Stinner 3822760f2d Issue #22042: signal.set_wakeup_fd(fd) now raises an exception if the file
descriptor is in blocking mode.
2014-08-27 12:59:44 +02:00
Terry Jan Reedy 86cc17e69e Merge with 3.4 2014-08-27 01:58:57 -04:00