Commit Graph

103663 Commits

Author SHA1 Message Date
Gregory P. Smith 414c625a7e
bpo-36013: delete fragile interactive shell SIGINT test (GH-11902)
It makes the existing smaller test more readable and robust at the same time.

The execution of a shell in interactive mode from CI and buildbot test automation wasn't working out.  What would work locally in our terminals would only work within a fraction of automation systems.  The integration test was a nice to have.  painful.  deleting. :)
2019-02-16 17:22:39 -08:00
Raymond Hettinger 5382203ae1
Convert range to repeat for choices() (#11889) 2019-02-16 13:30:51 -08:00
Gregory P. Smith 38f11cc3f6
bpo-1054041: Exit properly after an uncaught ^C. (#11862)
* bpo-1054041: Exit properly by a signal after a ^C.

An uncaught KeyboardInterrupt exception means the user pressed ^C and
our code did not handle it.  Programs that install SIGINT handlers are
supposed to reraise the SIGINT signal to the SIG_DFL handler in order
to exit in a manner that their calling process can detect that they
died due to a Ctrl-C.  https://www.cons.org/cracauer/sigint.html

After this change on POSIX systems

 while true; do python -c 'import time; time.sleep(23)'; done

can be stopped via a simple Ctrl-C instead of the shell infinitely
restarting a new python process.

What to do on Windows, or if anything needs to be done there has not
yet been determined.  That belongs in its own PR.

TODO(gpshead): A unittest for this behavior is still needed.

* Do the unhandled ^C check after pymain_free.

* Return STATUS_CONTROL_C_EXIT on Windows.

* Fix ifdef around unistd.h include.

* 📜🤖 Added by blurb_it.

* Add STATUS_CTRL_C_EXIT to the os module on Windows

* Add unittests.

* Don't send CTRL_C_EVENT in the Windows test.

It was causing CI systems to bail out of the entire test suite.

See https://dev.azure.com/Python/cpython/_build/results?buildId=37980
for example.

* Correct posix test (fail on macOS?) check.

* STATUS_CONTROL_C_EXIT must be unsigned.

* Improve the error message.

* test typo :)

* Skip if the bash version is too old.

...and rename the windows test to reflect what it does.

* min bash version is 4.4, detect no bash.

* restore a blank line i didn't mean to delete.

* PyErr_Occurred() before the Py_DECREF(co);

* Don't add os.STATUS_CONTROL_C_EXIT as a constant.

* Update the Windows test comment.

* Refactor common logic into a run_eval_code_obj fn.
2019-02-16 12:57:40 -08:00
Raymond Hettinger 43766f82dd bpo-35884: Add missing FIFO queue benchmark (GH-11898)
https://bugs.python.org/issue35884
2019-02-16 12:51:02 -08:00
Raymond Hettinger e182318e6a bpo-33234: Add another attribution in Whatsnew (GH-11899)
https://bugs.python.org/issue33234
2019-02-16 12:47:48 -08:00
Raymond Hettinger 63fa1cfece bpo-32492: Add missing whatsnew entries for itemgetter and namedtuple (GH-11897)
https://bugs.python.org/issue32492
2019-02-16 12:02:22 -08:00
Raymond Hettinger 3ff5962d2e bpo-33089: Add math.dist() and math.hypot() to Whatsnew (GH-11896)
https://bugs.python.org/issue33089
2019-02-16 11:00:42 -08:00
Serhiy Storchaka 4583525835
bpo-35798: Fix duplicate SyntaxWarning: "is" with a literal. (GH-11639) 2019-02-16 08:29:46 +02:00
Serhiy Storchaka 62e4481238
bpo-15248: Emit a compiler warning when missed a comma before tuple or list. (GH-11757) 2019-02-16 08:12:19 +02:00
Anthony Sottile a16ab00c0b bpo-36007: Bump minimum sphinx version to 1.8 (GH-11887)
https://bugs.python.org/issue36007
2019-02-15 15:41:15 -08:00
Alexey Izbyshev 36433221f0 bpo-35984: _xxsubinterpreters: Fix memory leak in _channel_send() (GH-11845)
https://bugs.python.org/issue35984
2019-02-15 14:28:58 -08:00
Daniel Hahler 4327705cfa bpo-35931: Gracefully handle SyntaxError in pdb debug command (GH-11782)
Previously, `debug print(` would cause the interpreter to exit on a SyntaxError whereas `print(` would properly display the error and return to the pdb prompt.

This patch fixes this by pre-compiling the code before passing it to `Pdb.run`.


https://bugs.python.org/issue35931
2019-02-15 12:52:53 -08:00
Raymond Hettinger 9abb725cea Improve readability of random module examples (GH-11884)
Based on reviewer feedback from Allen Downey, convert ``lambda`` to ``def``.
2019-02-15 12:40:18 -08:00
Jack Wilsdon 903567e4f5 Fix the versionadded info for typing.NoReturn (GH-11880)
The earliest version that `typing.NoReturn` appears in is [3.5.4rc1](https://docs.python.org/3/whatsnew/changelog.html#python-3-5-4-release-candidate-1)
2019-02-15 11:20:28 -08:00
Emmanuel Arias 522630a746 bpo-36006: Fix versionchanged directive alignment in io module documentation (GH-11881)
https://bugs.python.org/issue36006
2019-02-15 11:02:38 -08:00
Victor Stinner 355f16fd4b
bpo-35746: Credit Colin Read and Nicolas Edet (GH-11863)
Add credit for the cert parser vulnerability. Mention also Cisco
TALOS-2018-0758 identifier.
2019-02-15 12:25:47 +01:00
pxinwr 3e028b2d40 bpo-35994: add sub dir for sub2_tree in os.walk test if symlink is not supported (GH-11853)
https://bugs.python.org/issue35994
2019-02-14 21:04:47 -08:00
Lysandros Nikolaou 5723263a3a bpo-30410: Documentation of sys.stdin/out/err update to reflect change in 3.6 (GH-10264)
Documentation of sys.stdin/out/err update to reflect change in 3.6 on Windows to use UTF-8.

Wording by Eryk Sun and Paul Moore.



https://bugs.python.org/issue30410
2019-02-14 15:35:25 -08:00
kk 1093d42932 Doc: Fix example in contextlib asynccontextmanager document (GH-8111) 2019-02-14 14:52:30 -05:00
Michael Felt b94d4bed67 bpo-35633: test_lockf() fails with "PermissionError: [Errno 13] Permission denied" on AIX (GH-11424)
[bpo-35633](https://bugs.python.org/issue35633): Fix a test regression introduced with [bpo-35189](https://bugs.python.org/issue35189) (PEP 475: fnctl functions are not retried if interrupted (EINTR)).

Not only a blocking IO error needs to be ignored - permission errors also need to be ignored.

p.s. - iirc as a "test" only correction a NEWS item is not required. If this is not correct - just mention, and I'll add a NEWS blurb.


https://bugs.python.org/issue35633
2019-02-14 10:22:35 -08:00
Paul Monson 8a1657b934 bpo-35976: Enable Windows projects to build with platform ARM32 (GH-11825)
This change adds the necessary items to the build projects to avoid erroring out right at the start. It does not add _support_ for targeting Windows on ARM32, but is a necessary prerequisite for adding it.
2019-02-14 08:31:30 -08:00
Zackery Spytz bb3c05d7ef closes bpo-35991: Fix a potential double free in Modules/_randommodule.c. (GH-11849) 2019-02-13 23:43:17 -08:00
Kevin Mai-Husan Chia d73ac0eba9 Fix typo: equivalent code of `async with cond` (GH-11681) 2019-02-13 18:39:25 -08:00
Susan Su 2bdd5858e3 bpo-35500: align expected and actual calls on mock.assert_called_with error message. (GH-11804) 2019-02-13 18:22:29 -08:00
Nina Zakharenko 1dc5cb9cb3 bpo-35887: Add make regen-importlib step to importlib._bootstrap docstring (GH-11777) 2019-02-13 15:21:17 -08:00
Victor Stinner dcb68f47f7
bpo-35961: Fix a crash in slice_richcompare() (GH-11830)
Fix a crash in slice_richcompare(): use strong references rather than
stolen references for the two temporary internal tuples.

The crash (or assertion error) occurred if a garbage collection
occurred during slice_richcompare(), especially while calling
PyObject_RichCompare(t1, t2, op).
2019-02-13 12:31:56 +01:00
Cheryl Sabella 5680f6546d bpo-18283: Add support for bytes to shutil.which (GH-11818) 2019-02-13 12:25:10 +01:00
Raymond Hettinger cfd31f0af2 Be consistent about the use of from-imports in random module (GH-11837)
Minor code clean-up.
2019-02-13 02:04:17 -08:00
Anthony Sottile 73d600239b Remove stray quote in os.replace docstring. (GH-11556) 2019-02-12 20:15:54 -08:00
Pablo Galindo b9d2e97601
Fix potential memory leak in parsetok.c (GH-11832) 2019-02-13 00:45:53 +00:00
Matěj Cepl 3dc67d0316 bpo-35505: Skip test_imap4_host_default_value if localhost listens on IMAP port (GH-11823)
Make test_imap4_host_default_value independent on whether the 
local IMAP server is running.
2019-02-12 19:30:19 +01:00
Alexey Izbyshev 16f842da3c bpo-35972: _xxsubinterpreters: Fix potential integer truncation on 32-bit in channel_send() (gh-11822) 2019-02-12 09:06:43 -07:00
Christopher Hunt b01786c881 bpo-35960: Fix dataclasses.field throwing away empty metadata. (GH-11815) 2019-02-12 06:50:49 -05:00
Rémi Lapeyre a31f4cc881 bpo-35918: Remove broken has_key method and add test (#11819) 2019-02-11 16:37:24 -08:00
Guido van Rossum 522346d792
Complete switch cases in symtable.c; fixes bpo-35963 (GH-11821) 2019-02-11 11:34:50 -08:00
Pablo Galindo 3766f18c52
bpo-35378: Fix multiprocessing.Pool references (GH-11627)
Changes in this commit:

1. Use a _strong_ reference between the Pool and associated iterators
2. Rework PR #8450 to eliminate a cycle in the Pool.

There is no test in this commit because any test that automatically tests this behaviour needs to eliminate the pool before joining the pool to check that the pool object is garbaged collected/does not hang. But doing this will potentially leak threads and processes (see https://bugs.python.org/issue35413).
2019-02-11 17:29:00 +00:00
Guido van Rossum 4b250fc1da
bpo-35766 follow-up: Add an error check to new_type_comment() (#11766)
If PyUnicode_DecodeUTF8() returns NULL, PyArena_AddPyObject() would crash.
Found by @msullivan for https://github.com/python/typed_ast/pull/93.
2019-02-11 08:10:42 -08:00
Eivind Teig 537b6caa56 bpo-22062: Updated docstring and documentation for pathlib (GH-8519)
Original patch by Mike Short


https://bugs.python.org/issue22062
2019-02-11 02:47:09 -08:00
Julien Palard 9db56fb8fa Doc sidebar: 3.6 has moved to security-fix mode. (GH-11810) 2019-02-10 13:27:12 -08:00
Pablo Galindo 164686f33a
Fix compiler warning about non initialised variable (GH-11806) 2019-02-10 20:37:07 +00:00
Pablo Galindo 4207907c2b
Fix division by 0 when checking for overflow in math.prod (GH-11808) 2019-02-10 19:56:58 +00:00
Ivan Levkivskyi 181835d5a9
Fix compiler warnings about end_col_offset and end_lineno (GH-11735) 2019-02-10 15:39:49 +00:00
Pablo Galindo 5033e315d2
Fix broken :ref: in asyncio docs (GH-11805) 2019-02-10 00:21:37 +00:00
Pablo Galindo 7b2a37b728
Make sure the BaseManager in test_multiprocessing is cleaned up correctly (GH-11653) 2019-02-09 17:35:05 +00:00
Pablo Galindo 613f729e5d
Do not retain references to processes and managers in TestSyncManagerTypes (GH-11801)
Keeping references to processes and managers between tests makes them count as dangling processes.
2019-02-09 17:08:49 +00:00
Terry Jan Reedy 8a03ff2ff4
bpo-35833: Revise IDLE doc for control codes sent to Shell. (GH-11799)
Add  a code example block.
2019-02-08 22:51:51 -05:00
Raymond Hettinger 2dda72a2e8 lru_cache: Add more comments. Fix comment typos. Clarify a comment. (GH-11795) 2019-02-08 18:55:02 -08:00
Tim Peters 7ab3d1573c Rework tuple hash tests. (GH-10161)
Add tooling that will useful in future updates, paying particular attention to difficult cases where only the upper bits on the input vary.
2019-02-08 13:09:26 -08:00
Neil Schemenauer 5741c45acf
bpo-35903: Use autoconfig to probe for shm_open() and shm_unlink(). (#11765)
Use autoconfig to probe for shm_open() and shm_unlink().  Set SHM_NEEDS_LIBRT if we must
link with librt to get the shm_* functions.  Change setup.py to use the autoconfig defines.  These
changes should make it more likely that _multiprocessing/posixshmem.c gets built correctly on
different platforms.
2019-02-08 10:48:46 -08:00
Raymond Hettinger 64360ada0f Complete and neaten-up namedtuple's replacement of builtin function lookups with derefs (GH-11794) 2019-02-08 10:37:39 -08:00