Commit graph

24879 commits

Author SHA1 Message Date
Miss Islington (bot)
9d8a64a7cc
bpo-45024 and bpo-23864: Document how interface testing works with the collections ABCs (GH-28218) (GH-28266) 2021-09-29 12:33:58 +01:00
Miss Islington (bot)
e1eb03d15f
bpo-45216: Remove extraneous method docs from difflib (GH-28445) (GH-28505)
(cherry picked from commit 06e1773c8d)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2021-09-29 12:31:00 +01:00
Łukasz Langa
a8c3e0bfbe
[3.10] [docs] Improve the markup of powers (GH-28598) (GH-28607)
(cherry picked from commit 4f05f15d7b)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-09-29 12:29:25 +01:00
Serhiy Storchaka
2ca4ab8031
[3.10] bpo-45307: Restore private C API function _PyImport_FindExtensionObject() (GH-28594)
py2exe and PyOxidizer rely on this API.
It will be removed in Python 3.11.

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2021-09-29 12:27:08 +01:00
Miss Islington (bot)
e0b61b2864
bpo-45234: Fix FileNotFound exception raised instead of IsADirectoryError in shutil.copyfile() (GH-28421) (GH-28508)
This was a regression from fixing BPO-43219.
(cherry picked from commit b7eac52b46)

Co-authored-by: andrei kulakov <andrei.avk@gmail.com>
2021-09-22 23:42:19 +01:00
Miss Islington (bot)
76611038bc
bpo-45128: fixes test_multiprocessing_fork mysterious crash (GH-28387)
(cherry picked from commit 1d42408495)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2021-09-20 00:32:30 +01:00
Miss Islington (bot)
db762a9b21
bpo-45121: Fix RecursionError when calling Protocol.__init__ from a subclass' __init__ (GH-28206) (GH-28232)
(cherry picked from commit c11956a8bd)

Co-authored-by: Yurii Karabas <1998uriyyo@gmail.com>
2021-09-19 20:18:41 +01:00
Miss Islington (bot)
d08e4a8c55
bpo-45193: News for IDLE PR_28343 (GH-28348)
(cherry picked from commit 9d76d28867)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2021-09-19 19:52:41 +01:00
Pablo Galindo
839d789394
Python 3.10.0rc2 2021-09-07 14:18:28 +01:00
Miss Islington (bot)
53257cf19f
bpo-45123: PyAiter_Check and PyObject_GetAiter fix & rename. (GH-28194) (GH-28199)
Fix PyAiter_Check to only check for the `__anext__` presense (not for
`__aiter__`). Rename `PyAiter_Check()` to `PyAIter_Check()`,
`PyObject_GetAiter()` -> `PyObject_GetAIter()`.
2021-09-07 12:43:33 +01:00
Miss Islington (bot)
608a629236
bpo-44860: Make sysconfig posix_user not depend on platlibdir (GH-27655) (GH-28197)
(cherry picked from commit a5c6bcf244)

Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
2021-09-07 12:20:31 +01:00
Miss Islington (bot)
adc80a58f9
bpo-44963: Implement send() and throw() methods for anext_awaitable objects (GH-27955)
Co-authored-by: Yury Selivanov <yury@edgedb.com>
(cherry picked from commit 533e725821)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2021-09-07 03:52:53 -07:00
Miss Islington (bot)
6b5aea2dc1
bpo-45052: Unskips a failing test_shared_memory_basics test (GH-28182)
(cherry picked from commit 19871fce3b)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2021-09-06 10:16:44 -07:00
Miss Islington (bot)
e5976dd2e6
bpo-45042: Now test classes decorated with requires_hashdigest are not skipped (GH-28060)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
(cherry picked from commit dd7b816ac8)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2021-09-04 14:04:44 -07:00
Miss Islington (bot)
ed9f927527
bpo-45030: Fix integer overflow in __reduce__ of the range iterator (GH-28000)
It happened with fast range iterator  when the calculated stop = start + step * len
was out of the C long range.
(cherry picked from commit 936f6a16b9)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-09-04 13:39:30 -07:00
Miss Islington (bot)
79e9f5a584
bpo-45081: Fix __init__ method generation when inheriting from Protocol (GH-28121)
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
(cherry picked from commit 0635e201be)

Co-authored-by: Yurii Karabas <1998uriyyo@gmail.com>
2021-09-02 23:26:53 -07:00
Miss Islington (bot)
d65fad04fa
bpo-43913: Fix bugs in cleaning up classes and modules in unittest. (GH-28006)
* Functions registered with addModuleCleanup() were not called unless
  the user defines tearDownModule() in their test module.
* Functions registered with addClassCleanup() were not called if
  tearDownClass is set to None.
* Buffering in TestResult did not work with functions registered
  with addClassCleanup() and addModuleCleanup().
* Errors in functions registered with addClassCleanup() and
  addModuleCleanup() were not handled correctly in buffered and
  debug modes.
* Errors in setUpModule() and functions registered with
  addModuleCleanup() were reported in wrong order.
* And several lesser bugs.
(cherry picked from commit 08d9e597c8)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-08-30 10:38:34 -07:00
Miss Islington (bot)
243b8de0b1
bpo-41620: TestCase.run() now always return a TestResult instance (GH-28030)
Previously it returned None if the test class or method was
decorated with a skipping decorator.

Co-authored-by: Iman Tabrizian <iman.tabrizian@gmail.com>
(cherry picked from commit 7e246a3a7b)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-08-30 06:43:38 -07:00
Victor Stinner
fe997e1a67
bpo-44449: faulthandler don't modify frame refcnt (GH-27850)
Fix a crash in the signal handler of the faulthandler module: no
longer modify the reference count of frame objects.
2021-08-30 15:24:39 +02:00
Łukasz Langa
52bdda50d7
[3.10] bpo-45007: Update to OpenSSL 1.1.1l in Windows build and CI (GH-28009) (GH-28039)
(cherry picked from commit d3bdbbf9a4)

Co-authored-by: Steve Dower <steve.dower@python.org>
2021-08-30 15:19:16 +02:00
Miss Islington (bot)
41c87c4176
bpo-44689: ctypes.util.find_library() now finds macOS 11+ system libraries when built on older macOS systems (GH-27251)
Previously, when built on older macOS systems, `find_library` was not able to find macOS system libraries when running on Big Sur due to changes in how system libraries are stored.
(cherry picked from commit 71853a7302)

Co-authored-by: Tobias Bergkvist <tobias@bergkv.ist>
2021-08-30 02:09:34 -07:00
Miss Islington (bot)
66b8202c07
bpo 45007: Update macOS installer builds to use OpenSSL 1.1.1l. (GH-28051)
(cherry picked from commit 94b2639fad)

Co-authored-by: Ned Deily <nad@python.org>
2021-08-30 00:33:57 -07:00
Miss Islington (bot)
9e6c317ab1
bpo-43124: Fix smtplib multiple CRLF injection (GH-25987)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit 0897253f42)

Co-authored-by: Miguel Brito <5544985+miguendes@users.noreply.github.com>
2021-08-29 07:43:39 -07:00
Miss Islington (bot)
270678564c
bpo-44394: Update libexpat copy to 2.4.1 (GH-26945)
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the
fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy
is most used on Windows and macOS.

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit 3fc5d84046)

Co-authored-by: Victor Stinner <vstinner@python.org>
2021-08-29 07:32:50 -07:00
Miss Islington (bot)
532ebba6c8
bpo-42278: Use tempfile.TemporaryDirectory rather than tempfile.mktemp in pydoc (GH-23200)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit c9227df5a9)

Co-authored-by: E-Paine <63801254+E-Paine@users.noreply.github.com>
2021-08-29 05:57:22 -07:00
Erlend Egeberg Aasland
2a80893e5c
[3.10] bpo-27334: roll back transaction if sqlite3 context manager fails to commit (GH-26202) (GH-27943) 2021-08-28 19:26:00 +01:00
Miss Islington (bot)
81fa08c5ea
bpo-44524: Fix cryptic TypeError message when trying to subclass special forms in typing (GH-27710)
This was a Python 3.9 regression.
(cherry picked from commit a3a4d20d67)

Co-authored-by: Yurii Karabas <1998uriyyo@gmail.com>
2021-08-28 11:09:45 -07:00
Miss Islington (bot)
cd986e9031
bpo-45018: Fix rangeiter_reduce in rangeobject.c (GH-27938)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit 94a3d2a632)

Co-authored-by: chilaxan <chilaxan@gmail.com>
2021-08-28 11:09:29 -07:00
Miss Islington (bot)
8aa64cc45b
bpo-44962: Fix a race in WeakKeyDict, WeakValueDict and WeakSet when two threads attempt to commit the last pending removal (GH-27921)
Fixes:
Traceback (most recent call last):
  File "/home/graingert/projects/asyncio-demo/demo.py", line 36, in <module>
    sys.exit(main())
  File "/home/graingert/projects/asyncio-demo/demo.py", line 30, in main
    test_all_tasks_threading()
  File "/home/graingert/projects/asyncio-demo/demo.py", line 24, in test_all_tasks_threading
    results.append(f.result())
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 438, in result
    return self.__get_result()
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 390, in __get_result
    raise self._exception
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.10/asyncio/runners.py", line 47, in run
    _cancel_all_tasks(loop)
  File "/usr/lib/python3.10/asyncio/runners.py", line 56, in _cancel_all_tasks
    to_cancel = tasks.all_tasks(loop)
  File "/usr/lib/python3.10/asyncio/tasks.py", line 53, in all_tasks
    tasks = list(_all_tasks)
  File "/usr/lib/python3.10/_weakrefset.py", line 60, in __iter__
    with _IterationGuard(self):
  File "/usr/lib/python3.10/_weakrefset.py", line 33, in __exit__
    w._commit_removals()
  File "/usr/lib/python3.10/_weakrefset.py", line 57, in _commit_removals
    discard(l.pop())
IndexError: pop from empty list

Also fixes:
Exception ignored in: weakref callback <function WeakKeyDictionary.__init__.<locals>.remove at 0x00007fe82245d2e0>
Traceback (most recent call last):
  File "/usr/lib/pypy3/lib-python/3/weakref.py", line 390, in remove
    del self.data[k]
KeyError: <weakref at 0x00007fe76e8d8180; dead>
Exception ignored in: weakref callback <function WeakKeyDictionary.__init__.<locals>.remove at 0x00007fe82245d2e0>
Traceback (most recent call last):
  File "/usr/lib/pypy3/lib-python/3/weakref.py", line 390, in remove
    del self.data[k]
KeyError: <weakref at 0x00007fe76e8d81a0; dead>
Exception ignored in: weakref callback <function WeakKeyDictionary.__init__.<locals>.remove at 0x00007fe82245d2e0>
Traceback (most recent call last):
  File "/usr/lib/pypy3/lib-python/3/weakref.py", line 390, in remove
    del self.data[k]
KeyError: <weakref at 0x000056548f1e24a0; dead>

See: https://github.com/agronholm/anyio/issues/362GH-issuecomment-904424310
See also: https://bugs.python.org/issue29519

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit 206b21ed9f)

Co-authored-by: Thomas Grainger <tagrain@gmail.com>
2021-08-28 11:09:21 -07:00
Miss Islington (bot)
9a79242567
bpo-45001: Make email date parsing more robust against malformed input (GH-27946)
Various date parsing utilities in the email module, such as
email.utils.parsedate(), are supposed to gracefully handle invalid
input, typically by raising an appropriate exception or by returning
None.

The internal email._parseaddr._parsedate_tz() helper used by some of
these date parsing routines tries to be robust against malformed input,
but unfortunately it can still crash ungracefully when a non-empty but
whitespace-only input is passed. This manifests as an unexpected
IndexError.

In practice, this can happen when parsing an email with only a newline
inside a ‘Date:’ header, which unfortunately happens occasionally in the
real world.

Here's a minimal example:

    $ python
    Python 3.9.6 (default, Jun 30 2021, 10:22:16)
    [GCC 11.1.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import email.utils
    >>> email.utils.parsedate('foo')
    >>> email.utils.parsedate(' ')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python3.9/email/_parseaddr.py", line 176, in parsedate
        t = parsedate_tz(data)
      File "/usr/lib/python3.9/email/_parseaddr.py", line 50, in parsedate_tz
        res = _parsedate_tz(data)
      File "/usr/lib/python3.9/email/_parseaddr.py", line 72, in _parsedate_tz
        if data[0].endswith(',') or data[0].lower() in _daynames:
    IndexError: list index out of range

The fix is rather straight-forward: guard against empty lists, after
splitting on whitespace, but before accessing the first element.
(cherry picked from commit 989f6a3800)

Co-authored-by: wouter bolsterlee <wouter@bolsterl.ee>
2021-08-26 08:47:27 -07:00
Miss Islington (bot)
9f814beadb
bpo-45011: Fix test_asyncio without C module _asyncio (GH-27968)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit 7dc505b865)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-08-26 06:41:29 -07:00
Dong-hee Na
32c1caa87f
bpo-45000: Raise SyntaxError when try to delete __debug__ (GH-27947) (GH-27957)
(cherry picked from commit 551da597a0)
2021-08-26 10:52:21 +01:00
Erlend Egeberg Aasland
b34ca7e051
[3.10] bpo-43853: Amend NEWS entry for latest changes in sqlite3 (GH-27922). (GH-27953)
(cherry picked from commit 7903a10963)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
2021-08-25 20:50:23 +01:00
Miss Islington (bot)
ec5a03168f
bpo-39452: Rewrite and expand __main__.rst (GH-26883)
Broadened scope of the document to explicitly discuss and differentiate between ``__main__.py`` in packages versus the ``__name__ == '__main__'`` expression (and the idioms that surround it), as well as ``import __main__``.

Co-authored-by: Géry Ogam <gery.ogam@gmail.com>
Co-authored-by: Éric Araujo <merwok@netwok.org>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit 7cba23164c)

Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com>
2021-08-24 13:54:08 -07:00
Miss Islington (bot)
0af681b652
[3.10] bpo-34990: Treat the pyc header's mtime in compileall as an unsigned int (GH-19708)
(cherry picked from commit bb21e28fd0)

Co-authored-by: Ammar Askar <ammar@ammaraskar.com>
Co-authored-by: Stéphane Wirtel <stephane@wirtel.be>
2021-08-24 11:09:14 -04:00
Miss Islington (bot)
57b321c377
Move susp-ignored locations 2021-08-22 13:04:43 -07:00
Miss Islington (bot)
d63114caf9
bpo-44955: Always call stopTestRun() for implicitly created TestResult objects (GH-27831)
Method stopTestRun() is now always called in pair with method startTestRun()
for TestResult objects implicitly created in TestCase.run().
Previously it was not called for test methods and classes decorated with
a skipping decorator.
(cherry picked from commit a9640d7553)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-08-22 00:55:34 -07:00
Miss Islington (bot)
838b0e975f
bpo-44954: Fix wrong result in float.fromhex corner case (GH-27834)
(cherry picked from commit 60b93d9e49)

Co-authored-by: Mark Dickinson <mdickinson@enthought.com>
2021-08-20 10:48:47 -07:00
Miss Islington (bot)
fc6ad0585e
bpo-44949: Fix test_readline auto history tests (GH-27813)
(cherry picked from commit 6fb62b42f4)

Co-authored-by: Victor Stinner <vstinner@python.org>
2021-08-19 01:52:16 -07:00
Miss Islington (bot)
846a10fc45
bpo-44947: Refine the syntax error for trailing commas in import statements (GH-27814)
(cherry picked from commit b2f68b1900)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2021-08-18 13:32:01 -07:00
Miss Islington (bot)
826e059bb9
[3.10] bpo-44935: enable posix_spawn() on Solaris (GH-27795) (GH-27800)
Enable posix_spawn() on Solaris
(cherry picked from commit b1930bf75f)


Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>

Automerge-Triggered-By: GH:gpshead
2021-08-17 11:33:34 -07:00
Miss Islington (bot)
3f81e9628f
bpo-44698: Restore complex pow behaviour for small integral exponents (GH-27772) (GH-27796)
(cherry picked from commit 4b9a2dcf19)

Co-authored-by: Mark Dickinson <mdickinson@enthought.com>
2021-08-17 18:38:03 +01:00
Miss Islington (bot)
f6bd1ca166
bpo-44903: Removed othergui.rst and list of GUI frameworks (GH-27762)
(cherry picked from commit 6a358bb948)

Co-authored-by: Gautam Chaudhuri <gautam.chaudhuri.1803@gmail.com>
2021-08-17 03:08:49 -07:00
Łukasz Langa
bc98f98132
[3.10] bpo-44852: Support ignoring specific DeprecationWarnings wholesale in regrtest (GH-27634) (GH-27784)
(cherry picked from commit a0a6d39295)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-08-17 12:01:00 +02:00
Miss Islington (bot)
6f6648e436
bpo-38956: don't print BooleanOptionalAction's default twice (GH-27672)
Co-authored-by: Micky Yun Chan <michan@redhat.com>
(cherry picked from commit 1512bc21d6)

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2021-08-17 02:40:41 -07:00
Miss Islington (bot)
8516ca500e
bpo-44911: Fixed IsolatedAsyncioTestCase from throwing an exception on leaked tasks (GH-27765)
(cherry picked from commit 2cb1a6806c)

Co-authored-by: Bar Harel <bar.harel@biocatch.com>
2021-08-16 02:54:58 -07:00
Miss Islington (bot)
16f73c8b5d
bpo-36700: [doc] Update base64 RFC references to RFC 4648 (GH-27700)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit e43b9bbc31)

Co-authored-by: andrei kulakov <andrei.avk@gmail.com>
2021-08-13 04:21:53 -07:00
Miss Islington (bot)
d4128485d6
bpo-26228: [doc] Adapt PTY documentation updates from GH-4167 (GH-27754)
Co-authored-by: Cornelius Diekmann <c.diekmann@googlemail.com>
(cherry picked from commit dd8eb303b9)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-08-13 04:21:06 -07:00
Miss Islington (bot)
45a97d91a4
bpo-44891: Tests id preserving on * 1 for str and bytes (GH-27745)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit a2ce538e16)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2021-08-13 04:04:08 -07:00
Pablo Galindo Salgado
c28c2e1cb0
[3.10] bpo-44885: Correct the ast locations of f-strings with format specs and repeated expressions (GH-27729) (GH-27743)
(cherry picked from commit 8e832fb2a2)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2021-08-12 17:41:21 +01:00