Commit graph

115862 commits

Author SHA1 Message Date
Miss Islington (bot)
779481ef15
[3.11] gh-110429: Fix race condition in "make regen-all" (GH-110433) (#110439)
gh-110429: Fix race condition in "make regen-all" (GH-110433)

"make regen-pegen" now creates a temporary file called "parser.c.new"
instead of "parser.new.c". Previously, if "make clinic" was run in
parallel with "make regen-all", clinic may try but fail to open
"parser.new.c" if the temporay file was removed in the meanwhile.
(cherry picked from commit fb6c4ed2bb)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-10-05 20:49:32 +00:00
Miss Islington (bot)
a55c203104
[3.11] gh-110383: Swap 'the all' -> 'all the' in socket docs (GH-110434) (#110436)
Co-authored-by: Bradley Reynolds <bradley.reynolds@darbia.dev>
2023-10-05 14:14:32 -06:00
Miss Islington (bot)
a503bdf21f
[3.11] gh-109840: Fix multiprocessing test_waitfor_timeout() (GH-110428) (#110431)
gh-109840: Fix multiprocessing test_waitfor_timeout() (GH-110428)

Don't measure the CI performance: don't fail if cond.wait_for() takes
longer than 1 second on a slow CI.
(cherry picked from commit 5eae8dc2cb)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-10-05 19:53:14 +00:00
Miss Islington (bot)
8da3367067
[3.11] gh-110167: Fix test_socket deadlock in doCleanups() (GH-110416) (#110424)
gh-110167: Fix test_socket deadlock in doCleanups() (GH-110416)

Fix a deadlock in test_socket when server fails with a timeout but
the client is still running in its thread. Don't hold a lock to call
cleanup functions in doCleanups(). One of the cleanup function waits
until the client completes, whereas the client could deadlock if it
called addCleanup() in such situation.

doCleanups() is called when the server completed, but the client can
still be running in its thread especially if the server failed with a
timeout. Don't put a lock on doCleanups() to prevent deadlock between
addCleanup() called in the client and doCleanups() waiting for
self.done.wait of ThreadableTest._setUp().
(cherry picked from commit 318f5df271)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-10-05 19:18:44 +00:00
Adam Turner
8394368f1f
[3.11] Docs: Avoid the deprecated `.. cmdoption::` directive (GH-110292) (#110303)
[3.11] Docs: Avoid the deprecated ``.. cmdoption::`` directive (GH-110292).
(cherry picked from commit 77e9aae383)
2023-10-05 20:30:26 +03:00
Miss Islington (bot)
6a6081f820
[3.11] gh-110383 TimeIt Docs Spelling Fix (GH-110407) (#110410)
gh-110383 TimeIt Docs Spelling Fix (GH-110407)

Make 0.2 second plural
(cherry picked from commit a973bf0f97)

Co-authored-by: Towster15 <105541074+Towster15@users.noreply.github.com>
2023-10-05 17:10:39 +00:00
Miss Islington (bot)
cacea7a272
[3.11] gh-110391: socket NetworkConnectionAttributesTest always declare cli (GH-110401) (#110406)
gh-110391: socket NetworkConnectionAttributesTest always declare cli (GH-110401)

NetworkConnectionAttributesTest of test_socket now always declare the
'cli' attribute, so clientTearDown() cannot fail with AttributeError.
(cherry picked from commit e37d4557c3)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-10-05 16:58:46 +00:00
Miss Islington (bot)
34c7793cd0
[3.11] gh-110365: Fix error overwrite in termios.tcsetattr (GH-110366) (#110390)
(cherry picked from commit 2bbbab212f)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-10-05 14:21:34 +02:00
Hugo van Kemenade
b0e43cb6cb
[3.11] Lint: Remove files that no longer fail to parse (GH-110356) (#110361)
Remove files that no longer fail to parse
2023-10-04 15:30:48 +01:00
Victor Stinner
8f22504d74
[3.11] gh-109974: Fix threading lock_tests race conditions (#110057) (#110355)
[3.12] gh-109974: Fix threading lock_tests race conditions (#110057) (#110346)

* gh-109974: Fix threading lock_tests race conditions (#110057)

Fix race conditions in test_threading lock tests. Wait until a
condition is met rather than using time.sleep() with a hardcoded
number of seconds.

* Replace sleeping loops with support.sleeping_retry() which raises
  an exception on timeout.
* Add wait_threads_blocked(nthread) which computes a sleep depending
  on the number of threads. Remove _wait() function.
* test_set_and_clear(): use a way longer Event.wait() timeout.
* BarrierTests.test_repr(): wait until the 2 threads are waiting for
  the barrier. Use a way longer timeout for Barrier.wait() timeout.
* test_thread_leak() no longer needs to count
  len(threading.enumerate()): Bunch uses
  threading_helper.wait_threads_exit() internally which does it in
  wait_for_finished().
* Add BaseLockTests.wait_phase() which implements a timeout.
  test_reacquire() and test_recursion_count() use wait_phase().

(cherry picked from commit 4e356ad183)

* gh-109974: Fix more threading lock_tests race conditions (#110089)

* Add context manager on Bunch class.
* Bunch now catchs exceptions on executed functions and re-raise them
  at __exit__() as an ExceptionGroup.
* Rewrite BarrierProxy.test_default_timeout(). Use a single thread.
  Only check that barrier.wait() blocks for at least default timeout
  seconds.
* test_with(): inline _with() function.

(cherry picked from commit 743e3572ee)
(cherry picked from commit 1d032ea3d6)
2023-10-04 12:07:57 +00:00
Miss Islington (bot)
aa8d3db6f2
[3.11] [3.12] gh-109972: Enhance test_gdb (GH-110026) (GH-110351) (#110354)
[3.12] gh-109972: Enhance test_gdb (GH-110026) (GH-110351)

* gh-109972: Enhance test_gdb (GH-110026)

* Split test_pycfunction.py: add test_cfunction_full.py.
  Split the function into the following 6 functions. In verbose
  mode, these "pycfunction" tests now log each tested call.

  * test_pycfunction_noargs()
  * test_pycfunction_o()
  * test_pycfunction_varargs()
  * test_pycfunction_varargs_keywords()
  * test_pycfunction_fastcall()
  * test_pycfunction_fastcall_keywords()

* Move get_gdb_repr() to PrettyPrintTests.
* Replace DebuggerTests.get_sample_script() with SAMPLE_SCRIPT.
* Rename checkout_hook_path to CHECKOUT_HOOK_PATH.
* Rename gdb_version to GDB_VERSION_TEXT.
* Replace (gdb_major_version, gdb_minor_version) with GDB_VERSION.
* run_gdb() uses "backslashreplace" error handler instead of "replace".
* Add check_gdb() function to util.py.
* Enhance support.check_cflags_pgo(): check also for sysconfig
  PGO_PROF_USE_FLAG (if available) in compiler flags.
* Move some SkipTest checks to test_gdb/__init__.py.
* Elaborate why gdb cannot be tested on Windows: gdb doesn't support
  PDB debug symbol files.

(cherry picked from commit 757cbd4f29)

* gh-104736: Fix test_gdb tests on ppc64le with clang (GH-109360)

Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex:
Fedora 38). Search patterns in gdb "bt" command output to detect
when gdb fails to retrieve the traceback. For example, skip a test if
"Backtrace stopped: frame did not save the PC" is found.

(cherry picked from commit 44d9a71ea2)

* gh-110166: Fix gdb CFunctionFullTests on ppc64le clang build (GH-110331)

CFunctionFullTests now also runs "bt" command before "py-bt-full",
similar to CFunctionTests which also runs "bt" command before
"py-bt". So test_gdb can skip the test if patterns like "?? ()" are
found in the gdb output.

(cherry picked from commit bbce8bd05d)

Co-authored-by: Victor Stinner <vstinner@python.org>
(cherry picked from commit 1de9406f91)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-10-04 12:03:28 +00:00
Miss Islington (bot)
d507493078
[3.11] gh-110332: Remove mentions of random.WichmannHill from test_zlib (GH-110334) (#110348)
gh-110332: Remove mentions of `random.WichmannHill` from `test_zlib` (GH-110334)
(cherry picked from commit e9f2352b7b)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-10-04 11:17:38 +00:00
Miss Islington (bot)
497c8c4520
[3.11] gh-108927: Fix test_import + test_importlib + test_unittest problem (GH-108929) (#110347)
gh-108927: Fix test_import + test_importlib + test_unittest problem (GH-108929)
(cherry picked from commit 3f89b25763)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-10-04 11:09:43 +00:00
Victor Stinner
f9ac377626
[3.11] Add test.support.busy_retry() (#93770) (#110341)
Add test.support.busy_retry() (#93770)

Add busy_retry() and sleeping_retry() functions to test.support.

(cherry picked from commit 7e9eaad864)
2023-10-04 12:58:49 +02:00
Victor Stinner
6c98c734c7
[3.11] gh-109972: Split test_gdb.py into test_gdb package (#109977) (… (#110343)
[3.12] gh-109972: Split test_gdb.py into test_gdb package (#109977) (#110339)

gh-109972: Split test_gdb.py into test_gdb package (#109977)

Split test_gdb.py file into a test_gdb package made of multiple
tests, so tests can now be run in parallel.

* Create Lib/test/test_gdb/ directory.
* Split test_gdb.py into multiple files in Lib/test/test_gdb/
  directory.
* Move Lib/test/gdb_sample.py to Lib/test/test_gdb/ directory.
  Update get_sample_script(): use __file__ to locate gdb_sample.py.
* Move gdb_has_frame_select() and HAS_PYUP_PYDOWN to test_misc.py.
* Explicitly skip test_gdb on Windows. Previously, test_gdb was
  skipped even if gdb was available because of
  gdb_has_frame_select().

(cherry picked from commit 8f324b7ecd)
(cherry picked from commit e7a61d34b7)
2023-10-04 10:53:28 +00:00
Miss Islington (bot)
5039db7f9b
[3.11] gh-110267: Add tests for pickling and copying PyStructSequence objects (GH-110272) (GH-110284)
(cherry picked from commit 2d4865d775)

Co-authored-by: Xuehai Pan <XuehaiPan@pku.edu.cn>
2023-10-04 12:01:19 +03:00
Miss Islington (bot)
4e44927a0e
[3.11] gh-109917: Fix test instability in test_concurrent_futures (GH-110306) (#110316)
gh-109917: Fix test instability in test_concurrent_futures (GH-110306)

The test had an instability issue due to the ordering of the dummy
queue operation and the real wakeup pipe operations. Both primitives
are thread safe but not done atomically as a single update and may
interleave arbitrarily. With the old order of operations this can lead
to an incorrect state where the dummy queue is full but the wakeup
pipe is empty. By swapping the order in clear() I think this can no
longer happen in any possible operation interleaving (famous last
words).
(cherry picked from commit a376a72bd9)

Co-authored-by: elfstrom <elfstrom@users.noreply.github.com>
2023-10-03 23:27:56 +01:00
Miss Islington (bot)
6a6e8871ba
[3.11] gh-109234: Hint to contextlib.closing in sqlite3 context manager docs (GH-109322) (#110294)
(cherry picked from commit 4227bfa8b2)

Co-authored-by: Lincoln <71312724+Lincoln-developer@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-10-03 16:02:04 +00:00
Alex Waygood
3079aa3f5d
[3.11] Enable ruff on Lib/test/test_typing.py (#110179) (#110290) 2023-10-03 15:09:06 +00:00
Miss Islington (bot)
a151afe719
[3.11] Bump various dependencies in Doc/requirements-oldest-sphinx.txt (GH-110278) (#110281)
Bump various dependencies in `Doc/requirements-oldest-sphinx.txt` (GH-110278)

This resolves a Dependabot security alert on the repository for urllib3==2.0.4.
(cherry picked from commit f1663a492e)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-10-03 13:18:08 +00:00
Miss Islington (bot)
0c6ae623e5
[3.11] Remove unused Misc/requirements-test.txt (GH-110240) (#110254)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-02 23:36:35 -06:00
Miss Islington (bot)
bf6843e91f
[3.11] [3.12] gh-109649: Enhance os.cpu_count() documentation (GH-110169) (#110226)
[3.12] gh-109649: Enhance os.cpu_count() documentation (GH-110169)

* gh-109649: Enhance os.cpu_count() documentation

* Doc: Specify that os.cpu_count() counts *logicial* CPUs.
* Doc: Specify that os.sched_getaffinity(0) is related to the calling
  thread.
* Fix test_posix.test_sched_getaffinity(): restore the old CPU mask
  when the test completes!

* Restore removed text
(cherry picked from commit 5245b97e13)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-10-02 18:36:55 -07:00
Victor Stinner
981696e342
[3.11] gh-108494: Document how to add a project in PCbuild/readme.txt (#110077) (#110232)
gh-108494: Document how to add a project in PCbuild/readme.txt (#110077)

(cherry picked from commit 6387b5313c)
2023-10-02 19:43:05 +00:00
Pablo Galindo
914ffb40d0 Post 3.11.6 2023-10-02 17:23:15 +01:00
Pablo Galindo
8b6ee5ba3b Python 3.11.6 2023-10-02 14:29:10 +01:00
Miss Islington (bot)
2c79a3fe00
[3.11] Docs: bump Pygments to fix contrast ratios to meet WCAG AA guidelines (GH-110208) (#110211)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-02 10:42:57 +00:00
Victor Stinner
86084d001f
[3.11] gh-110160: Fix flaky test_find_periodic_pattern in string_tests (… (#110183)
gh-110160: Fix flaky `test_find_periodic_pattern` in `string_tests` (#110170)

(cherry picked from commit 06faa9a39b)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-10-01 22:43:57 +02:00
Miss Islington (bot)
0914b13ba5
[3.11] gh-110138: Improve grammar in idiomatic usage of `__main__.py` (GH-110142) (#110189)
gh-110138: Improve grammar in idiomatic usage of ``__main__.py`` (GH-110142)
(cherry picked from commit adf0f15a06)

Co-authored-by: Quentin Agren <quentin.agren@gmail.com>
2023-10-01 20:32:44 +01:00
Miss Islington (bot)
00da3ccd0a
[3.11] gh-101100: Fix sphinx warnings in library/site.rst (GH-110144) (#110185)
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-10-01 11:47:06 -06:00
Miss Islington (bot)
446c81c3c3
[3.11] gh-110088: Fix asyncio test_prompt_cancellation() (GH-110157) (#110159)
gh-110088: Fix asyncio test_prompt_cancellation() (GH-110157)

Don't measure the CI performance: don't test the maximum elapsed
time. The check failed on a slow CI.
(cherry picked from commit c62b49ecc8)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-09-30 21:01:33 +00:00
Miss Islington (bot)
080f5b98d1
[3.11] gh-109748: Fix again venv test_zippath_from_non_installed_posix() (GH-110149) (#110153)
gh-109748: Fix again venv test_zippath_from_non_installed_posix() (GH-110149)

Call also copy_python_src_ignore() on listdir() names.

shutil.copytree(): replace set() with an empty tuple. An empty tuple
becomes a constant in the compiler and checking if an item is in an
empty tuple is cheap.
(cherry picked from commit 0def8c712b)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-09-30 18:46:37 +00:00
Miss Islington (bot)
cb1f49991e
[3.11] GH-101100: Fix reference warnings for `gettext` (GH-110115) (#110141)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-09-30 11:21:27 +00:00
Miss Islington (bot)
a673248d6c
[3.11] GH-101100: Fix reference warnings for `namedtuple` (GH-110113) (#110136)
GH-101100: Fix reference warnings for ``namedtuple`` (GH-110113)
(cherry picked from commit cbdacc738a)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-09-30 06:42:37 +00:00
Miss Islington (bot)
42b6883d5f
[3.11] gh-107888: Fix test_mmap PROT_EXEC comment (GH-110125) (#110130)
gh-107888: Fix test_mmap PROT_EXEC comment (GH-110125)
(cherry picked from commit 14098b78f7)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-09-29 22:19:33 +00:00
Victor Stinner
190e8fbfb7
[3.11] gh-108851: Fix support.get_recursion_available() for USE_STACKCHECK (#110127)
Add _testcapi.USE_STACKCHECK.

USE_STACKCHECK on using on Windows 32-bit.
2023-09-29 23:54:46 +02:00
Miss Islington (bot)
a95e8cf908
gh-109615: Look for 'Modules' as landmark for test_copy_python_src_ignore (GH-110108)
(cherry picked from commit 20bc5f7c28)

Co-authored-by: Steve Dower <steve.dower@python.org>
2023-09-29 15:48:59 +00:00
Zachary Ware
d87217ff44
[3.11] gh-109991: Update Windows build to use OpenSSL 3.0.11 (GH-110059)
(cherry picked from commit cf4c297256)
2023-09-29 10:03:48 -05:00
Miss Islington (bot)
b07661d889
[3.11] gh-109592: test_eintr tolerates 20 ms when comparing timings (GH-110102) (#110107)
gh-109592: test_eintr tolerates 20 ms when comparing timings (GH-110102)
(cherry picked from commit 9c73a9acec)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-09-29 13:47:24 +00:00
Miss Islington (bot)
4b97c724e0
[3.11] gh-109955 : Update state transition comments for asyncio.Task (GH-109910) (#109993)
gh-109955 : Update state transition comments for asyncio.Task (GH-109910)
(cherry picked from commit 45cf5b0c69)

Co-authored-by: Kristján Valur Jónsson <sweskman@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-09-29 15:25:34 +02:00
Victor Stinner
8ac6890d5e
[3.11] gh-110031: Skip test_threading fork tests if ASAN (#110100) (#110104)
gh-110031: Skip test_threading fork tests if ASAN (#110100)

Skip test_threading tests using thread+fork if Python is built with
Address Sanitizer (ASAN).

(cherry picked from commit 86e76ab8af)
2023-09-29 15:19:37 +02:00
Victor Stinner
184ce1414b
[3.11] gh-110088, gh-109878: Fix test_asyncio timeouts (#110092) (#110099)
gh-110088, gh-109878: Fix test_asyncio timeouts (#110092)

Fix test_asyncio timeouts: don't measure the maximum duration, a test
should not measure a CI performance. Only measure the minimum
duration when a task has a timeout or delay. Add CLOCK_RES to
test_asyncio.utils.

(cherry picked from commit db0a258e79)
2023-09-29 14:16:15 +02:00
Adam Turner
d81bcc2327
[3.11] gh-102304: Add links to the Stable ABI and Limited C API docs (#105345) (#105371) (#109901)
* Add "limited-c-api" and "stable-api" targets
* Rename the "stable-abi-list" target to "limited-api-list"
2023-09-29 11:17:44 +02:00
Miss Islington (bot)
6024a75b10
[3.11] gh-101100: Fix references to `URLError and HTTPError in howto/urllib2.rst` (GH-107966) (#110087)
Co-authored-by: Yuki K <drsuaimqjgar@gmail.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-09-29 08:44:28 +00:00
Miss Islington (bot)
58ac0ed093
[3.11] gh-101100: Fix Sphinx warnings in tutorial/controlflow.rst (GH-109424) (#110085)
Co-authored-by: Maciej Olko <maciej.olko@affirm.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-09-29 08:36:24 +00:00
Hugo van Kemenade
6bc722df2e
[3.11] gh-101100: Fix sphinx warnings in library/difflib.rst (GH-110074) (#110082)
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-09-29 11:19:34 +03:00
Serhiy Storchaka
c534637106
[3.11] gh-109634: Use :samp: role (GH-109635) (GH-109778)
(cherry picked from commit 92af0cc580)

Co-authored-by: Jacob Coffee <jacob@z7x.org>
2023-09-29 09:39:31 +03:00
Victor Stinner
615d7fc34a
[3.11] gh-110052: Fix faulthandler for freed tstate (#110069) (#110072)
gh-110052: Fix faulthandler for freed tstate (#110069)

faulthandler now detected freed interp and freed tstate, and no
longer dereference them.

Backport to 3.11: add pycore_pymem.h include to traceback.c.

(cherry picked from commit 2e37a38bcb)
2023-09-29 02:43:28 +00:00
Miss Islington (bot)
efe83ad276
[3.11] gh-110036: multiprocessing Popen.terminate() catches PermissionError (GH-110037) (#110065)
gh-110036: multiprocessing Popen.terminate() catches PermissionError (GH-110037)

On Windows, multiprocessing Popen.terminate() now catchs
PermissionError and get the process exit code. If the process is
still running, raise again the PermissionError. Otherwise, the
process terminated as expected: store its exit code.
(cherry picked from commit bd4518c60c)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-09-29 01:04:58 +00:00
Miss Islington (bot)
a99729599a
[3.11] gh-109960: Remove test_pty timeout of 10 seconds (GH-110058) (#110061)
gh-109960: Remove test_pty timeout of 10 seconds (GH-110058)

In 2003, test_pty got a hardcoded timeout of 10 seconds to prevent
hanging on AIX & HPUX "if run after test_openpty":
commit 7d8145268e. Since 2003, test_pty
was no longer reported to hang on AIX. But today, the test can fail
simply because a CI is busy running other tests in parallel.
The timeout of 10 seconds is no longer needed, just remove it.
Moreover, regrtest now has multiple built-in generic timeout
mecanisms.
(cherry picked from commit 5fdcea7440)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-09-29 00:30:38 +00:00
Davide Rizzo
d6e8001467
[3.11] gh-110038: KqueueSelector must count all read/write events (GH-110039) (#110044)
[3.11] gh-110038: KqueueSelector must count all read/write events (GH-110039).
(cherry picked from commit b14f0ab51c)
2023-09-28 20:58:24 +02:00