527 Commits

Author SHA1 Message Date
Gregory P. Smith
22e4d55285
[3.13] gh-143916: Reject control characters in wsgiref.headers.Headers (GH-143917) (#143973)
gh-143916: Reject control characters in wsgiref.headers.Headers  (GH-143917)

* Add 'test.support' fixture for C0 control characters
* gh-143916: Reject control characters in wsgiref.headers.Headers

(cherry picked from commit f7fceed79ca1bceae8dbe5ba5bc8928564da7211)

Co-authored-by: Seth Michael Larson <seth@python.org>
2026-01-17 18:23:57 +00:00
Miss Islington (bot)
7c99a42d10
[3.13] gh-143641: Make ready_to_import always remove tempdir from sys.path (GH-143642) (#143648)
gh-143641: Make `ready_to_import` always remove tempdir from `sys.path` (GH-143642)

Make ready_to_import always remove tempdir from sys.path
(cherry picked from commit e7f5ffa0de2476828d78b8d39caefc38d797c206)

Co-authored-by: Jeong, YunWon <69878+youknowone@users.noreply.github.com>
2026-01-10 10:14:46 +00:00
Miss Islington (bot)
cb42565839
[3.13] gh-143553: Add support for parametrized resources in regrtests (GH-143554) (GH-143556)
For example, "-u xpickle=2.7" will run test_xpickle only against Python 2.7.
(cherry picked from commit c07e5ec0a9e5843fc39dec6aa94172faf6354858)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2026-01-08 18:12:51 +02:00
Miss Islington (bot)
e7bb732d8b
[3.13] gh-142353: Isolate tests from personal GNU Readline init files (GH-142370) (#142635)
gh-142353: Isolate tests from personal GNU Readline init files (GH-142370)

Isolate tests from personal Readline init files using `INPUTRC=/dev/null` trick.
(cherry picked from commit f564654bae79c69e3de40dadbec2399f1423ffcf)

Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2025-12-13 10:58:43 +00:00
Miss Islington (bot)
f50989f3cb
[3.13] gh-140748: socket_helper.transient_internet: Unwrap UrlError.__cause__ (GH-140749) (GH-141506)
(cherry picked from commit 75a1cbdd38b142b359849eae16a2ecc12f6b3881)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
2025-11-13 13:58:46 +01:00
Miss Islington (bot)
7e5d47de10
[3.13] gh-139310: skip test_aead_aes_gcm for Linux kernel between 6.16.0 and 6.17.x (GH-139552) (#139593)
gh-139310: skip `test_aead_aes_gcm` for Linux kernel between 6.16.0 and 6.17.x (GH-139552)

Currently, Fedora 42 uses a custom Linux Kernel 6.16.9 that backported an upstream change
from 6.17-rc7 [1,3] but not its subsequent fix [2]. Until the issue is resolved upstream,
we skip the failing test `test_socket.test_aead_aes_gcm` for kernel versions between 6.16
and 6.17.x.

[1] 1b34cbbf4f
[2] d0ca0df179
[3] 45bcf60fe4
(cherry picked from commit 41712c4e095b2cc988febfe3887616c2779c6210)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-10-05 08:52:06 +00:00
Łukasz Langa
3669efb890
[3.13] gh-128636: Fix crash in PyREPL when os.environ is overwritten with an invalid value for macOS (GH-138089) (GH-138942)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>

(cherry picked from commit 8ef7735c536e0ffe4a60224e59b7587288f53e9e)
2025-09-16 00:53:51 +02:00
Bénédikt Tran
41c2c8f01c
[3.13] gh-135734: correctly handle --enable-optimizations --disable-test-modules combination (#137998) 2025-08-21 20:28:03 +02:00
Miss Islington (bot)
55f8fe548a
[3.13] gh-137194: Fix requires_debug_ranges when _testcpi doesn't exist (GH-137195) (GH-137275)
(cherry picked from commit 0282eef880c8c8db782a2088b0257250e0f76d48)

Co-authored-by: Jeong, YunWon <69878+youknowone@users.noreply.github.com>
2025-08-04 13:22:15 +00:00
Serhiy Storchaka
1c96723cb1
[3.13] gh-137341: Remove more word duplications (GH-137342) (GH-137347)
(cherry picked from commit 1612dcbafe763014deefd679fe75ac5831a14a43)
2025-08-03 17:24:26 +00:00
Serhiy Storchaka
3576e1a954
[3.13] gh-78465: Fix error message for cls.__new__(cls, ...) where cls is not instantiable (GH-135981) (GH-136031)
Previous error message suggested to use cls.__new__(), which
obviously does not work. Now the error message is the same as for
cls(...).
(cherry picked from commit c45f4f3ebe34529a8db3a7918e8dd2e9f7ce8e86)
2025-06-27 12:07:22 +00:00
Miss Islington (bot)
5f5b173cc7
[3.13] gh-132415: Update vendored setuptools in `Lib/test/wheeldata` (GH-132887) (#135391)
(cherry picked from commit c9f3f5b4ed52d7bed6073ffa39717ece47202558)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-06-11 14:55:14 +00:00
Serhiy Storchaka
d864a9150b
[3.13] gh-135120: Add test.support.subTests() (GH-135121) (GH-135210)
(cherry picked from commit 6ef06fad84244261c695ec337c7d2734277054db)
2025-06-06 13:16:50 +00:00
Miss Islington (bot)
70c7aad306
[3.13] gh-135074: Fix exception messages in test.support module (GH-135076) (GH-135130)
(cherry picked from commit bc00ce941e03347dade3faa8822f19836b5bbfe4)

Co-authored-by: Daniel Hollas <daniel.hollas@bristol.ac.uk>
2025-06-04 13:22:02 +00:00
Miss Islington (bot)
704a3f8c0a
[3.13] gh-133167: Fix compilation process with --enable-optimizations and --without-docstrings (GH-133187) (#133207)
gh-133167: Fix compilation process with `--enable-optimizations` and `--without-docstrings` (GH-133187)
(cherry picked from commit cc39b19f0fca8db0f881ecaf02f88d72d9f93776)

Co-authored-by: sobolevn <mail@sobolevn.me>
2025-04-30 14:06:31 +00:00
Miss Islington (bot)
b4a160ac59
[3.13] gh-132415: Use shutil.which() in missing_compiler_executable() (GH-132906) (#132916)
gh-132415: Use shutil.which() in missing_compiler_executable() (GH-132906)

Replace deprecated distutils.spawn.find_executable() with
shutil.which() in missing_compiler_executable() of test.support.
(cherry picked from commit de6482eda3a46cc9c9a03fb9ba57295ab99b4722)

Co-authored-by: Victor Stinner <vstinner@python.org>
2025-04-25 10:41:40 +00:00
Miss Islington (bot)
b220c1c0a4
[3.13] gh-109981: Resolve situation on iOS regarding fd_count. (GH-132823) (#132824)
Modifies the test helper that counts the list of open file descriptors to use
the optimised ``/dev/fd`` approach on all Apple platforms, not just macOS. This
avoids crashes caused by guarded file descriptors.
(cherry picked from commit 862fd890361005598a6f4614ea0608c8447831c2)

Co-authored-by: John <johnzhou721@gmail.com>
2025-04-23 21:40:25 +00:00
Miss Islington (bot)
2b61f6ac39
[3.13] gh-132316: Require socket and GITHUB_TOKEN env to use GitHubArtifactDatabase (GH-132348) (#132367)
gh-132316: Require `socket` and `GITHUB_TOKEN` env to use `GitHubArtifactDatabase` (GH-132348)
(cherry picked from commit fcf2d07228ada64bc864380cd8e3e304d9768caa)

Co-authored-by: sobolevn <mail@sobolevn.me>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-04-10 15:15:58 +00:00
Miss Islington (bot)
ce921075e8
[3.13] CI: set correct working directory for Hypothesis cache (GH-119345) (#132364)
CI: set correct working directory for Hypothesis cache (GH-119345)

Set cwd for Hypothesis database
(cherry picked from commit 055c739536ad63b55ad7cd0b91ccacc33064fe11)

Co-authored-by: Zac Hatfield-Dodds <zac.hatfield.dodds@gmail.com>
2025-04-10 14:01:51 +00:00
Thomas Grainger
07d4c7e7db
[3.13] gh-128770: raise warnings as errors in test suite - except for test_socket which still logs warnings, and internal test warnings that are now logged (#131802)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
(cherry picked from commit 8a00c9a4d2ce9d373b13f8f0a2265a65f4523293)
2025-03-29 21:21:33 +02:00
Bénédikt Tran
85c20374c0
[3.13] gh-131277: allow EnvironmentVarGuard to unset more than one environment variable at once (GH-131280) (#131409)
(cherry picked from commit 3185e3115c918ec189e16cf9f5b51a13a0146556)

---------

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-03-18 13:48:59 +01:00
Malcolm Smith
e8e6e30054
[3.13] gh-118201: Simplify conv_confname (#126089) (#131375)
gh-118201: Simplify conv_confname (#126089)

(cherry picked from commit c5c9286804e38c95fe717f22ce1bf2f18eee5b17)
2025-03-18 12:53:10 +08:00
Victor Stinner
050813c026
[3.13] gh-131032: Add support.linked_to_musl() function (#131071) (#131179)
gh-131032: Add support.linked_to_musl() function (#131071)

Skip test_math.test_fma_zero_result() if Python is linked to the musl
C library.

(cherry picked from commit 68922ace4dabb6635e6d5b51bbe6485ef2e9dad2)
2025-03-13 09:59:57 +00:00
Miss Islington (bot)
43a2a372ba
[3.13] GH-130396: Treat clang -Og as optimized for gdb tests (GH-130550) (#130572)
GH-130396: Treat clang -Og as optimized for gdb tests (GH-130550)
(cherry picked from commit 129db32d6f2d7f450d2741da6a222c18e458c61b)

Co-authored-by: Mark Shannon <mark@hotpy.org>
2025-02-26 11:37:43 +00:00
Hugo van Kemenade
cc3dc8ab24
[3.13] gh-127873: Only check sys.flags.ignore_environment for PYTHON* env vars (GH-127877) (#129138) 2025-01-22 21:09:51 +02:00
Hugo van Kemenade
383af395af
[3.13] gh-128595: Default to stdout isatty for colour detection instead of stderr (GH-128498) (#129057)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Fix `test__colorize` unexpected keyword argument 'file' on buildbots (#129070)
2025-01-21 18:14:24 +02:00
Serhiy Storchaka
c6a566e47b
[3.13] gh-71339: Add additional assertion methods in test.support (GH-128707) (GH-128815)
Add a mix-in class ExtraAssertions containing the following methods:

* assertHasAttr() and assertNotHasAttr()
* assertIsSubclass() and assertNotIsSubclass()
* assertStartsWith() and assertNotStartsWith()
* assertEndsWith() and assertNotEndsWith()

(cherry picked from commit 06cad77a5b345adde88609be9c3c470c5cd9f417)
2025-01-20 11:19:00 +02:00
Hugo van Kemenade
afcf238ed4
[3.13] gh-128595: Add test class helper to force no terminal colour (GH-128687) (#128778)
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2025-01-13 13:57:44 +02:00
Miss Islington (bot)
ec9cbcb86b
[3.13] GH-126789: fix some sysconfig data on late site initializations
Co-authored-by: Filipe Laíns 🇵🇸 <lains@riseup.net>
2024-11-17 00:32:22 +00:00
Tomas R.
1c158705f1
[3.13] gh-126413: Add translation tests for getopt and optparse (GH-126698) (GH-126755)
(cherry picked from commit dff074d1446bab23578a6b228b0c59a17006299c)
2024-11-15 13:06:54 +02:00
Miss Islington (bot)
e3ae564682
[3.13] gh-125041: test_zlib: For s390x HW acceleration, only skip checking the compressed bytes (GH-125042) (#125527)
(cherry picked from commit cc5a225cdc2a5d4e035dd08d59cef39182c10a6c)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
2024-10-16 13:33:47 +02:00
Miss Islington (bot)
b7dff85638
[3.13] gh-61698: Use launchctl to detect macOS window manager in tests (GH-118390) (#125392)
(cherry picked from commit ce740d46246b28bb675ba9d62214b59be9b8411e)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
2024-10-13 08:46:35 +00:00
Miss Islington (bot)
9e61aa9b38
[3.13] gh-53203: Improve tests for strptime() (GH-125090) (GH-125091)
Run them with different locales and different date and time.

Add the @run_with_locales() decorator to run the test with multiple
locales.

Improve the run_with_locale() context manager/decorator -- it now
catches only expected exceptions and reports the test as skipped if no
appropriate locale is available.
(cherry picked from commit 19984fe024bfd90649f1c36b78c9abf3ed72b27d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-10-08 12:12:15 +03:00
Miss Islington (bot)
970f3b73d2
[3.13] gh-124842: Fix test.support.import_helper.make_legacy_pyc() (GH-124843) (GH-124853)
For source file "path/to/file.py" it created file with incorrect path
"/absolute/path/to/path/to/file.pyc" instead of "path/to/file.pyc".
(cherry picked from commit 60ff67d010078eca15a74b1429caf779ac4f9c74)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-10-08 00:29:54 +03:00
Miss Islington (bot)
03ae82d0d3
[3.13] gh-124188: Fix PyErr_ProgramTextObject() (GH-124189) (GH-124423)
* Detect source file encoding.
* Use the "replace" error handler even for UTF-8 (default) encoding.
* Remove the BOM.
* Fix detection of too long lines if they contain NUL.
* Return the head rather than the tail for truncated long lines.
(cherry picked from commit e2f710792b0418b8ca1ca3b8cdf39588c7268495)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-10-08 00:23:49 +03:00
Sergey B Kirpichev
62e54ddc05
[3.13] gh-121039: add Floats/ComplexesAreIdenticalMixin to test.support.testcase (GH-121071) (#123840)
* [3.13] gh-121039: add Floats/ComplexesAreIdenticalMixin to test.support.testcase (GH-121071)
(cherry picked from commit 8ef8354ef15e00d484ac2ded9442b789c24b11e0)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>

* +1
2024-09-29 18:27:23 -07:00
Miss Islington (bot)
3b3a1a8e7e
[3.13] gh-101525: Skip test_gdb if the binary is relocated by BOLT. (gh-118572) (#123601)
gh-101525: Skip test_gdb if the binary is relocated by BOLT. (gh-118572)
(cherry picked from commit f95fc4de115ae03d7aa6dece678240df085cb4f6)

Co-authored-by: Donghee Na <donghee.na@python.org>
2024-09-02 23:10:52 +09:00
Irit Katriel
d379a92ddc
[3.13] gh-123142: fix too wide source location of GET_ITER/GET_AITER (GH-123420). (#123435)
(cherry picked from commit 61bef6245c4a32bf430d684ede8603f423d63284)
2024-08-28 18:41:22 +01:00
Irit Katriel
e4b91b7256
[3.13] gh-123142: Fix too wide source locations in tracebacks of exceptions from broken iterables in comprehensions (GH-123173). (#123209)
(cherry picked from commit ec89620e5e147ba028a46dd695ef073a72000b84)
2024-08-22 10:22:39 +01:00
Eric Snow
10cf7d6d00
[3.13] gh-117482: Fix the Slot Wrapper Inheritance Tests (gh-122249)
The tests were only checking cases where the slot wrapper was present in the initial case.  They were missing when the slot wrapper was added in the additional initializations.  This fixes that.

(cherry-picked from commit 490e0ad83ac72c5688dfbbab4eac61ccfd7be5fd, AKA gh-122248)
2024-07-29 10:25:02 -06:00
Miss Islington (bot)
3d9692dbf8
[3.13] gh-120678: pyrepl: Include globals from modules passed with -i (GH-120904) (#121916)
(cherry picked from commit ac07451116d52dd6a5545d27b6a2e3737ed27cf0)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2024-07-17 16:52:46 +02:00
Miss Islington (bot)
835f4add60
[3.13] gh-76785: Expand How Interpreter Channels Handle Interpreter Finalization (gh-121811)
See 6b98b274b6 for an explanation of the problem and solution.  Here I've applied the solution to channels.

(cherry picked from commit 8b209fd4f8a9bf9603888bda2c44b5cfd4ebf47a, AKA gh-121805)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2024-07-15 20:15:47 +00:00
Miss Islington (bot)
f19ccfdae0
[3.13] gh-76785: Expand How Interpreter Queues Handle Interpreter Finalization (gh-121807)
Any cross-interpreter mechanism for passing objects between interpreters must be very careful to respect isolation, even when the object is effectively immutable (e.g. int, str).  Here this especially relates to when an interpreter sends one of its objects, and then is destroyed while the inter-interpreter machinery (e.g. queue) still holds a reference to the object.

When I added interpreters.Queue, I dealt with that case (using an atexit hook) by silently removing all items from the queue that were added by the finalizing interpreter.

Later, while working on concurrent.futures.InterpreterPoolExecutor (gh-116430), I noticed it was somewhat surprising when items were silently removed from the queue when the originating interpreter was destroyed.  (See my comment on that PR.)
 It took me a little while to realize what was going on.  I expect that users, which much less context than I have, would experience the same pain.

My approach, here, to improving the situation is to give users three options:

1. return a singleton (interpreters.queues.UNBOUND) from Queue.get() in place of each removed item
2. raise an exception (interpreters.queues.ItemInterpreterDestroyed) from Queue.get() in place of each removed item
3. existing behavior: silently remove each item (i.e. Queue.get() skips each one)

The default will now be (1), but users can still explicitly opt in any of them, including to the silent removal behavior.

The behavior for each item may be set with the corresponding Queue.put() call. and a queue-wide default may be set when the queue is created.  (This is the same as I did for "synconly".)

(cherry picked from commit 6b98b274b60a15b490d2ea85069638c037b2a9cd, AKA gh-116431)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2024-07-15 19:13:51 +00:00
Miss Islington (bot)
ced3fe87b0
[3.13] gh-121571: Do not use EnvironmentError in tests, use OSError instead (GH-121572) (#121574)
gh-121571: Do not use `EnvironmentError` in tests, use `OSError` instead (GH-121572)
(cherry picked from commit e2822360da30853f092d8a50ad83e52f6ea2ced9)

Co-authored-by: sobolevn <mail@sobolevn.me>
2024-07-10 10:38:48 +00:00
devdanzin
bc515b332b
[3.13] gh-121016: Add test for PYTHON_BASIC_REPL envioronment variable (GH-121017) (#121064)
* gh-121016: Add test for `PYTHON_BASIC_REPL` envioronment variable (#121017)

(cherry picked from commit 9e45fd9858a059950f7387b4fda2b00df0e8e537)

* [3.13] gh-121016: Add test for `PYTHON_BASIC_REPL` envioronment variable (GH-121017)
(cherry picked from commit 9e45fd9858a059950f7387b4fda2b00df0e8e537)

Co-authored-by: devdanzin <74280297+devdanzin@users.noreply.github.com>
2024-06-26 22:17:14 +01:00
Miss Islington (bot)
15c3d0013d
[3.13] gh-117398: Add datetime C-API type check test for subinterpreters (gh-120463)
Check if the DateTime C-API type matches the datetime.date type on main and shared/isolated subinterpreters.

(cherry picked from commit 50a389565aa0b480792ed06a2ab56fb5a72fc2d8, AKA gh-119604)

Co-authored-by: neonene <53406459+neonene@users.noreply.github.com>
2024-06-13 18:30:42 +00:00
Sam Gross
ae705319fc
[3.13] gh-117657: Fix race involving immortalizing objects (GH-119927) (#120005)
The free-threaded build currently immortalizes objects that use deferred
reference counting (see gh-117783). This typically happens once the
first non-main thread is created, but the behavior can be suppressed for
tests, in subinterpreters, or during a compile() call.

This fixes a race condition involving the tracking of whether the
behavior is suppressed.

(cherry picked from commit 47fb4327b5c405da6df066dcaa01b7c1aefab313)
2024-06-03 22:21:32 +00:00
Sam Gross
723d4d2fe8
gh-118527: Intern code consts in free-threaded build (#118667)
We already intern and immortalize most string constants. In the
free-threaded build, other constants can be a source of reference count
contention because they are shared by all threads running the same code
objects.
2024-05-06 20:12:39 -04:00
Hugo van Kemenade
3b3f8dea57
gh-117225: Move colorize functionality to own internal module (#118283) 2024-05-01 12:27:06 -06:00
Russell Keith-Magee
21336aa127
gh-118201: Accomodate flaky behavior of os.sysconf on iOS (GH-118453) 2024-04-30 22:31:00 -04:00