Commit graph

98010 commits

Author SHA1 Message Date
terryjreedy
d92ee3ea62 [3.6]bpo-27922: Stop gui flash from idle_test.test_parenmatch (#2171) (#2172)
For unknown reasons, this does not work when running leak tests.
(cherry picked from commit 049cf2bb44)
2017-06-13 15:40:59 -04:00
terryjreedy
b0efd493b6 [3.6]bpo-30642: Fix ref leak in idle_test.test_macosx (#2163) (#2165)
(cherry picked from commit 8323189ff1)
2017-06-13 11:52:08 -04:00
Antoine Pitrou
6fd0345995 [3.6] bpo-24484: Avoid race condition in multiprocessing cleanup (GH-2159) (#2166)
* bpo-24484: Avoid race condition in multiprocessing cleanup

The finalizer registry can be mutated while inspected by multiprocessing
at process exit.

* Use test.support.start_threads()

* Add Misc/NEWS.
(cherry picked from commit 1eb6c0074d)
2017-06-13 17:51:26 +02:00
terryjreedy
2bfb45d447 bpo-30642: IDLE: Fix test_query refleak (#2147) (#2161)
Patch by Louie Lu.
(cherry picked from commit b070fd275b)
2017-06-13 10:11:02 -04:00
Nick Coghlan
92e9e35292 [3.6] bpo-29514: Check magic number for bugfix releases (#2157)
Add a test to check the current MAGIC_NUMBER against the
expected number for the release if the current release is
at candidate or final level. On test failure, describe to
the developer the procedure for changing the magic number.

This ensures that pre-merge CI will automatically pick up
on magic number changes in maintenance releases (and
explain why those are problematic), rather than relying on
all core developers to be aware of the implications of
such changes.
2017-06-13 20:32:46 +10:00
Victor Stinner
932946ca14 bpo-30604: Fix __PyCodeExtraState_Get() prototype (#2152)
Replace __PyCodeExtraState_Get() with __PyCodeExtraState_Get(void) to
fix the following GCC warning:

./Include/pystate.h:63:1: warning: function declaration isn't a prototype [-Wstrict-prototypes]
 __PyCodeExtraState* __PyCodeExtraState_Get();
2017-06-13 10:39:30 +02:00
Antoine Pitrou
d0d63dc1e8 [3.6] Mention how to disable signal fd wakeup (GH-2140) (#2149)
(cherry picked from commit d79c1d4a94)
2017-06-13 10:23:13 +02:00
Mariatta
81c05ccc10 bpo-6519: Improve Python Input Output Tutorial (GH-2143) (GH-2145)
Move up the discussion about 'with' keyword, so it appears earlier in the document.
(cherry picked from commit bd4e9e0ca9)
2017-06-12 22:40:18 -07:00
Dino Viehland
2997fec01e [3.6] bpo-30604: Move co_extra_freefuncs to interpreter state to avoid crashes in threads (#2015)
* Move co_extra_freefuncs to interpreter state to avoid crashes in
multi-threaded scenarios involving deletion of code objects

* Don't require that extra be zero initialized

* Build test list instead of defining empty test class

* Ensure extra is always assigned on success

* Keep the old fields in the thread state object, just don't use them
Add new linked list of code extra objects on a per-interpreter basis
  so that interpreter state size isn't changed

* Rename __PyCodeExtraState_Get and add comment about it going away in 3.7
Fix sort order of import's in test_code.py

* Remove an extraneous space

* Remove docstrings for comments

* Touch up formatting

* Fix casing of coextra local

* Fix casing of another variable

* Prefix PyCodeExtraState with __ to match C API for getting it

* Update NEWS file for bpo-30604
2017-06-12 21:46:35 -04:00
Marco Buttu
f59cac4b64 bpo-30217: add the operators ~ and | to the index (GH-1502) (GH-2136)
(cherry picked from commit dc980dfbcf)
2017-06-12 12:41:42 -07:00
Antoine Pietri
8399a177de [3.6] bpo-30177: add NEWS entry (#2134) 2017-06-12 12:23:24 -04:00
Nick Coghlan
e1b690370f bpo-23404: make regen-all What's New entry (#2128)
While the build changes won't affect most users,
they may affect redistributors and folks building
their own Python binaries from source.
2017-06-12 22:28:12 +10:00
Serhiy Storchaka
d89dc844d2 [3.6] bpo-28994: Fixed errors handling in atexit._run_exitfuncs(). (GH-2034) (#2121)
The traceback no longer displayed for SystemExit raised in a callback registered by atexit..
(cherry picked from commit 3fd54d4a7e)
2017-06-12 09:02:13 +03:00
Mariatta
47c9decb5f bpo-30621: Update Input Output Tutorial Example(GH-2074) (GH-2118)
import json before using json module
(cherry picked from commit 1dbce04d0e)
2017-06-11 18:59:05 -07:00
Benjamin Peterson
2737291134 backport ssl doc fixes (#2117)
* clarify recv() and send() on SSLObject (#2100)

SSLObject has recv() and send(), but they don't do any network io.

* remove extra word (#2101)
2017-06-11 11:53:14 -07:00
terryjreedy
57d8de8031 [3.6]bpo-20185: Adjust IDLE test to 3.7 Clinic change [GH-542] (#2116)
Synchronize 3.6/3.7 test_calltips to the extent possible.  Part of patch by Serhiy Storchaka.
(cherry-pick from fdd42c4)
2017-06-11 14:29:38 -04:00
terryjreedy
a895f91a46 [3.6]bpo-29995: Adjust IDLE test for 3.7 re.escape change [GH-1007] (#2114) 2017-06-11 13:50:51 -04:00
Zachary Ware
f57e34b672 [3.6] Use Travis to make sure all generated files are up to date (GH-2080) (GH-2092)
(cherry picked from commit 0afbabe245)

Also fixes some line endings missed in GH-840 backport.
2017-06-11 11:30:57 -05:00
Yury Selivanov
83d30bd667 Revert "[3.6] bpo-29406: asyncio SSL contexts leak sockets after calling close with certain servers (GH-409) (#2062)" (#2112)
This reverts commit 6e14fd2a14.
2017-06-11 16:46:45 +02:00
Yury Selivanov
176f2ebdad bpo-30508: Don't log exceptions if Task/Future "cancel()" method was called. (#2109) 2017-06-11 14:00:14 +00:00
terryjreedy
59422a29ee [3.6]bpo-30022: idlelib.run IOError -> OSError [GH-1051] (#2107)
Part of patch by Serhiy Storchaka.
(cherry-pick from 55fe1ae970)
2017-06-11 06:26:25 -04:00
terryjreedy
a13225e209 [3.6]bpo-30144: change idlelib abc import [GH-1263] (#2106)
Part of patch by Serhiy Storchaka.
(cherry-pick from 2e576f5)
2017-06-11 06:12:31 -04:00
terryjreedy
c6696feb09 [3.6] bpo-29919 Remove unused imports from idlelib [GH-137] (#2105)
Part of patch by Victor Stinner.
(cherry-pick from d6debb24e0)
2017-06-11 05:53:46 -04:00
terryjreedy
d755d19ac4 [3.6] Remove unused imports (#2104)
Part of patch by Serhiy Strochaka, 2016-12-16 (no bpo issue)
(cherry-pick of 70d28a184c)
2017-06-11 04:45:35 -04:00
terryjreedy
ccccf3156f bpo-30495: IDLE: Modernize textview.py with docstrings and PEP8 names (#1839) (#2102)
Patch by Cheryl Sabella.
(cherry picked from commit 0aa0a06e8b)
2017-06-11 04:16:55 -04:00
terryjreedy
c0ef607c52 [3.6] bpo-30166: backport pyshell changes (GH 1293) (#2098)
(cherry-pick IDLE pyshell change from 7e4db2f)
2017-06-11 00:34:20 -04:00
terryjreedy
556cddba77 [3.6] Update idlelib NEWS for 3.6 (GH-2089) (#2097)
(cherry-picked from 503bc63)
2017-06-10 23:48:00 -04:00
terryjreedy
82e606785e [3.6] Add IDLE news items (GH-2090) (#2096)
(cherry-pick from c94c41c)
2017-06-10 23:15:08 -04:00
Mariatta
8d15b19be6 bpo-28556: Updates to typing module (GH-2076) (GH-2087)
This PR contains two updates to typing module:

- Support ContextManager on all versions (original PR by Jelle Zijlstra).
- Add generic AsyncContextManager..
(cherry picked from commit 29fda8db16)
2017-06-10 14:41:00 -07:00
Zachary Ware
964c261dc9 [3.6] bpo-27425: Be more explicit in .gitattributes (GH-840) (GH-2083)
Also updates checked-in line endings on some files
2017-06-10 15:39:29 -05:00
KatherineMichel
865ed9ea67 bpo-30312: Small correction in datastructures set code sample (GH-2081) (GH-2085)
(cherry picked from commit ca81615344)
2017-06-10 13:33:57 -07:00
Mariatta
76eabd3a21 bpo-25409: Clarify fnmatch and fnmatchcase documentation (GH-1535) (GH-2065)
Mention that fnmatchcase does not call normcase, and fnmatch does.
(cherry picked from commit e5f6e86c48)
2017-06-10 07:25:33 -07:00
Yury Selivanov
6e14fd2a14 [3.6] bpo-29406: asyncio SSL contexts leak sockets after calling close with certain servers (GH-409) (#2062)
* bpo-29406: asyncio SSL contexts leak sockets after calling close with certain servers (#409)

(cherry picked from commit a608d2d5a7)

* [3.6] bpo-29406: asyncio SSL contexts leak sockets after calling close with certain servers (GH-409)

* asyncio SSL contexts leak sockets after calling close with certain servers

* cleanup _shutdown_timeout_handle on _fatal_error.
(cherry picked from commit a608d2d5a7)
2017-06-10 10:00:45 -04:00
Serhiy Storchaka
911068e250 [3.6] Regenerate Argument Clinic code for bpo-19180. (GH-2073). (#2077)
(cherry picked from commit 5f31d5cf6e)
2017-06-10 13:48:53 +03:00
Victor Stinner
0b7629cd84 bpo-30038: fix race condition in signal delivery + wakeup fd (#1082) (#2075)
Before, it was possible to get the following sequence of
events (especially on Windows, where the C-level signal handler for
SIGINT is run in a separate thread):

- SIGINT arrives
- trip_signal is called
- trip_signal writes to the wakeup fd
- the main thread wakes up from select()-or-equivalent
- the main thread checks for pending signals, but doesn't see any
- the main thread drains the wakeup fd
- the main thread goes back to sleep
- trip_signal sets is_tripped=1 and calls Py_AddPendingCall to notify
  the main thread the it should run the Python-level signal handler
- the main thread doesn't notice because it's asleep

This has been causing repeated failures in the Trio test suite:
  https://github.com/python-trio/trio/issues/119
(cherry picked from commit 4ae0149697)
2017-06-10 11:20:03 +02:00
terryjreedy
12cbd87ac0 [3.6] bpo-30290: IDLE - pep8 names and tests for help-about (#2070)
(cherry picked from commit 054e09147a)

* bpo-30290: IDLE: Refactor help_about to PEP8 names (#1714)

Patch by Cheryl Sabella.
(cherry picked from commit 5a346d5dbc)

* IDLE test_help_about: edit and add test. (#1838)

Coverage is now 100%
(cherry picked from commit eca7da0f13)
2017-06-10 02:53:19 -04:00
Yury Selivanov
361362f3a0 [3.6] Fix TypeError is asyncio/proactor_events (GH-993) (#2061)
(cherry picked from commit 34792d25ab)
2017-06-10 00:15:28 -04:00
Mariatta
753422f6e3 bpo-30266: support "= None" pattern in AbstractContextManager (GH-1448) (GH-2054)
contextlib.AbstractContextManager now supports anti-registration
by setting __enter__ = None or __exit__ = None, following the pattern
introduced in bpo-25958..
(cherry picked from commit 57161aac5e)
2017-06-09 20:36:28 -07:00
Zachary Ware
e380c19b7e [3.6] bpo-30417: Disable cpu resource on AppVeyor (GH-1951)
(cherry picked from commit 42e3acda86)
2017-06-09 22:26:31 -05:00
Mariatta
10c9a09ef4 [3.6] bpo-30335: Add deprecation alias entry for assertNotRegexpMatches (GH-1536) (GH-2055)
Document that assertNotRegexpMatches is a deprecated alias for assertNotRegex.
(cherry picked from commit 74921ed894)
2017-06-09 18:33:31 -07:00
Brett Cannon
fe796efa66 [3.6] Make codecov config on master the only config used (GH-2041) (GH-2052)
This will allow for centralized management of the Codecov config to prevent skew as well as easier management going forward.

Closes python/core-workflowGH-81.
(cherry picked from commit 11ffb4543b)
2017-06-09 17:02:04 -07:00
Yury Selivanov
fe9c7a0fd3 Break circular references when closing SSLTransport objects (#981) (#2049) 2017-06-09 19:14:35 -04:00
Yury Selivanov
7a16a4535d Closing transport during handshake process leaks socket (#480) (#2044) 2017-06-09 18:33:31 -04:00
Brett Cannon
d24429a20d [3.6] Clarify what --enable-optimizations does (GH-1847) (GH-2039)
(cherry picked from commit b4e5fee6f5)
2017-06-09 14:34:32 -07:00
Yury Selivanov
fa7f519113 Fix waiter cancellation in asyncio.Lock (#1031) (#2037)
Avoid a deadlock when the waiter who is about to take the lock is
cancelled

Issue #27585
2017-06-09 17:07:48 -04:00
Yury Selivanov
e89f95bfd0 [3.6] bpo-30039: Don't run signal handlers while resuming a yield from stack (GH-1081) (#1640)
If we have a chain of generators/coroutines that are 'yield from'ing
each other, then resuming the stack works like:

- call send() on the outermost generator
- this enters _PyEval_EvalFrameDefault, which re-executes the
  YIELD_FROM opcode
- which calls send() on the next generator
- which enters _PyEval_EvalFrameDefault, which re-executes the
  YIELD_FROM opcode
- ...etc.

However, every time we enter _PyEval_EvalFrameDefault, the first thing
we do is to check for pending signals, and if there are any then we
run the signal handler. And if it raises an exception, then we
immediately propagate that exception *instead* of starting to execute
bytecode. This means that e.g. a SIGINT at the wrong moment can "break
the chain" – it can be raised in the middle of our yield from chain,
with the bottom part of the stack abandoned for the garbage collector.

The fix is pretty simple: there's already a special case in
_PyEval_EvalFrameEx where it skips running signal handlers if the next
opcode is SETUP_FINALLY. (I don't see how this accomplishes anything
useful, but that's another story.) If we extend this check to also
skip running signal handlers when the next opcode is YIELD_FROM, then
that closes the hole – now the exception can only be raised at the
innermost stack frame.

This shouldn't have any performance implications, because the opcode
check happens inside the "slow path" after we've already determined
that there's a pending signal or something similar for us to process;
the vast majority of the time this isn't true and the new check
doesn't run at all..
(cherry picked from commit ab4413a7e9)
2017-06-09 17:06:39 -04:00
Victor Stinner
b7577456c4 bpo-30524: Write unit tests for FASTCALL (#2022) (#2030)
Test C functions:

* _PyObject_FastCall()
* _PyObject_FastCallDict()
* _PyObject_FastCallKeywords()
(cherry picked from commit 3b5cf85edc)
2017-06-09 22:28:32 +02:00
terryjreedy
bbeaccc76b [3.6] IDLE test_textview: add comments and test, increase coverage to 100% (GH-1641) (#2018)
(cherry picked from commit 295304d412)
2017-06-09 15:59:31 -04:00
Mariatta
af609a00a6 bpo-24755: Document asyncio.wrap_future (GH-603) (GH-2019)
(cherry picked from commit 824f687912)
2017-06-09 07:32:46 -07:00
Nick Coghlan
c422959dac [3.6] bpo-19180: Updated references for RFC 1750, RFC 3280 & RFC 4366
* RFC 1750 has been been obsoleted by RFC 4086.
* RFC 3280 has been obsoleted by RFC 5280.
* RFC 4366 has been obsoleted by RFC 6066.
(cherry picked from commit 63c2c8ac17)
2017-06-09 22:37:53 +10:00