Danny Yang
58b3f11176
gh-120521: clarify except* documentation to allow tuples ( #120523 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2024-06-19 18:49:00 +00:00
Irit Katriel
d484383861
gh-119786: move locations doc to InternalDocs ( #120445 )
2024-06-19 17:58:54 +01:00
Mark Shannon
d1c673b658
GH-120097: Make FrameLocalsProxy a mapping ( #120101 )
...
* Register FrameLocalsProxy as a subclass of collections.abc.Mapping
* Allow FrameLocalsProxy to matching mapping patterns
2024-06-19 17:54:13 +01:00
Mark Shannon
00257c746c
GH-119462: Enforce invariants of type versioning (GH-120731)
...
* Remove uses of Py_TPFLAGS_VALID_VERSION_TAG
2024-06-19 17:38:45 +01:00
Nadeshiko Manju
f385d99f57
gh-120437: Fix `_CHECK_STACK_SPACE` optimization problems introduced in gh-118322 (GH-120712)
...
Co-authored-by: Ken Jin <kenjin4096@gmail.com>
2024-06-19 23:34:39 +08:00
yf-yang
ace2045ea6
Fix types in pegen parser generator (GH-120720)
2024-06-19 16:12:40 +02:00
Irit Katriel
eaaf6995a8
gh-120733: rename internal compiler functions according to naming convention ( #120734 )
2024-06-19 14:19:59 +01:00
Victor Stinner
0f3e36454d
gh-120635: Avoid leaking processes in test_pyrepl ( #120676 )
...
If the child process takes longer than SHORT_TIMEOUT seconds to
complete, kill the process but then wait until it completes with no
timeout to not leak child processes.
2024-06-19 15:14:29 +02:00
Jelle Zijlstra
d8f27cb114
gh-120722: Set position on RETURN_VALUE in lambda ( #120724 )
2024-06-19 05:56:36 -07:00
Awbert
a86e6255c3
gh-119960: Add information about regex flags in re module functions ( #119978 )
2024-06-19 09:42:01 +00:00
Kirill Podoprigora
b8fb369193
gh-102797: Add more code snippets in test_ast ( #102798 )
...
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Nineteendo <nineteendo19d0@gmail.com>
2024-06-19 09:51:43 +02:00
Kirill Podoprigora
a816cd67f4
gh-120726: Fix compiler warnings on is_core_module() ( #120727 )
...
Fix compiler warnings on is_core_module() and
check_interpreter_whence(): only define them when
assertions are built.
2024-06-19 07:46:04 +00:00
Petr Viktorin
45d5cab533
Add a link to free-threading HOWTO to the index (follow-up to GH-119366) (GH-120703)
2024-06-19 09:17:26 +02:00
Wulian233
89f7208f67
gh-120633: Move scrollbar and remove tear-off menus in turtledemo ( #120634 )
...
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2024-06-19 02:20:54 -04:00
Diego Russo
a0dce37895
GH-119726: Deduplicate JIT trampolines for out-of-range jumps (GH-120250)
2024-06-18 18:27:02 -07:00
Diego Russo
07daaf1ce1
Ignore some failing tests in emulated JIT CI (GH-120375)
2024-06-18 18:24:29 -07:00
Barney Gale
20d5b84f57
GH-73991: Add follow_symlinks argument to `pathlib.Path.copy()` ( #120519 )
...
Add support for not following symlinks in `pathlib.Path.copy()`.
On Windows we add the `COPY_FILE_COPY_SYMLINK` flag is following symlinks is disabled. If the source is symlink to a directory, this call will fail with `ERROR_ACCESS_DENIED`. In this case we add `COPY_FILE_DIRECTORY` to the flags and retry. This can fail on old Windowses, which we note in the docs.
No news as `copy()` was only just added.
2024-06-19 00:59:54 +00:00
Barney Gale
9f741e55c1
GH-73991: pathlib ABC tests: add `DummyPath.unlink()` and `rmdir()` ( #120715 )
...
In preparation for the addition of `PathBase.rmtree()`, implement
`DummyPath.unlink()` and `rmdir()`, and move corresponding tests into
`test_pathlib_abc` so they're run against `DummyPath`.
2024-06-18 22:13:45 +00:00
Irit Katriel
b7f478948f
gh-120367: fix bug where compiler detects redundant jump after pseudo op replacement ( #120714 )
2024-06-18 22:09:23 +00:00
Barney Gale
69058e20e4
GH-73991: Use same signature for `shutil._rmtree_[un]safe()`. ( #120517 )
...
Preparatory work for moving `_rmtree_unsafe()` and `_rmtree_safe_fd()` to
`pathlib._os` so that they can be used from both `shutil` and `pathlib`.
Move implementation-specific setup from `rmtree()` into the safe/unsafe
functions, and give them the same signature `(path, dir_fd, onexc)`.
In the tests, mock `os.open` rather than `_rmtree_safe_fd()` to ensure the
FD-based walk is used, and replace a couple references to
`shutil._use_fd_functions` with `shutil.rmtree.avoids_symlink_attacks`
(which has the same value).
No change of behaviour.
2024-06-18 22:15:18 +01:00
Victor Stinner
49f51deeef
gh-120688: Build WASI with -O3 in debug mode ( #120691 )
...
On WASI in debug mode, Python is now built with compiler flag -O3
instead of -Og, to support more recursive calls.
2024-06-18 19:35:44 +02:00
devdanzin
c81a5e6b5b
gh-119574: Add some missing environment variables to '--help-env'. (GH-120006)
2024-06-18 17:12:58 +00:00
Victor Stinner
e9f4d80fa6
gh-120417: Add #noqa: F401 to tests ( #120627 )
...
Ignore linter "imported but unused" warnings in tests when the linter
doesn't understand how the import is used.
2024-06-18 15:51:47 +00:00
Donghee Na
7e189aed64
gh-120496: Add a note about iterator thread-safe (gh-120685)
2024-06-18 15:37:34 +00:00
Nice Zombies
1035fe0cfb
gh-117953: Skip `test_interpreters` properly without GIL ( #120689 )
2024-06-18 15:22:24 +00:00
Victor Stinner
f869bcfc5b
gh-120417: Use import_helper() in test_regrtest ( #120680 )
2024-06-18 17:15:04 +02:00
Bénédikt Tran
d8cd0fa4e3
gh-120449: fix ``test_pyclbr`` introspection for mangled names (GH-120450)
2024-06-18 14:29:43 +00:00
Victor Stinner
16f8e22e7c
gh-120600: Make Py_TYPE() opaque in limited C API 3.14 ( #120601 )
...
In the limited C API 3.14 and newer, Py_TYPE() is now implemented as
an opaque function call to hide implementation details.
2024-06-18 14:28:48 +00:00
Sam Gross
e8752d7b80
gh-118789: Add `PyUnstable_Object_ClearWeakRefsNoCallbacks` ( #118807 )
...
This exposes `PyUnstable_Object_ClearWeakRefsNoCallbacks` as an unstable
C-API function to provide a thread-safe mechanism for clearing weakrefs
without executing callbacks.
Some C-API extensions need to clear weakrefs without calling callbacks,
such as after running finalizers like we do in subtype_dealloc.
Previously they could use `_PyWeakref_ClearRef` on each weakref, but
that's not thread-safe in the free-threaded build.
Co-authored-by: Petr Viktorin <encukou@gmail.com>
2024-06-18 09:57:23 -04:00
Nice Zombies
360f14a493
gh-120659: Skip `test_freethreading` with GIL ( #120660 )
2024-06-18 15:56:20 +02:00
Victor Stinner
d2e423114c
gh-120417: Move imports to doctests in test_doctest ( #120679 )
2024-06-18 15:54:53 +02:00
Sam Gross
02b272b702
gh-119241: Add HOWTO for free-threaded C API extensions ( #119877 )
...
Some sections adapted from https://github.com/Quansight-Labs/free-threaded-compatibility/
written by Nathan Goldbaum.
Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
2024-06-18 09:49:51 -04:00
Jan Kaliszewski
dacc5ac71a
gh-120381: Fix inspect.ismethoddescriptor() ( #120383 )
...
The `inspect.ismethoddescriptor()` function did not check for the lack of
`__delete__()` and, consequently, erroneously returned True when applied
to *data* descriptors with only `__get__()` and `__delete__()` defined.
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
2024-06-18 12:19:43 +00:00
Bénédikt Tran
7c5da94b5d
gh-120674: Protect multi-line macros in _testbuffer.c and _testcapimodule.c ( #120675 )
...
Add do { ... } while (0) pattern.
2024-06-18 12:04:52 +00:00
Bénédikt Tran
4bc27abdbe
gh-120662: Improve `smtplib` example ( #120668 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-06-18 13:56:58 +02:00
Raymond Hettinger
3044d3866e
No longer watch the queue module, remove rhettinger ( #120664 )
2024-06-18 13:47:32 +02:00
Mark Shannon
9cefcc0ee7
GH-120507: Lower the `BEFORE_WITH` and `BEFORE_ASYNC_WITH` instructions. ( #120640 )
...
* Remove BEFORE_WITH and BEFORE_ASYNC_WITH instructions.
* Add LOAD_SPECIAL instruction
* Reimplement `with` and `async with` statements using LOAD_SPECIAL
2024-06-18 12:17:46 +01:00
Irit Katriel
73dc1c678e
gh-119897: Add test for lambda generator invocation ( #120658 )
...
gh-120467: Add test for lambda generator invocation
2024-06-18 10:45:23 +01:00
Serhiy Storchaka
2cf47389e2
gh-120590: Fix test_pydoc in the refleak hunting mode (GH-120615)
...
Mocking only works if sys.modules['pydoc'] and pydoc are the same,
but some pydoc functions reload the module and change sys.modules.
Ensure that sys.modules['pydoc'] is always restored after the corresponding
tests.
2024-06-18 12:19:32 +03:00
Nice Zombies
ac37a80601
gh-120560: Mark `zip64` tests in `test_zipimport` as CPU-heavy (GH-120564)
2024-06-17 15:18:51 -07:00
Victor Stinner
35b16795d1
gh-120417: Remove unused imports in cases_generator ( #120622 )
2024-06-17 21:58:56 +02:00
Eric Snow
2c66318cdc
gh-120524: Avoid a Race On _PyRuntime.types.managed_static.types[i].interp_count (gh-120529)
...
gh-120182 added new global state (interp_count), but didn't add thread-safety for it. This change eliminates the possible race.
2024-06-17 13:16:00 -06:00
Victor Stinner
e73c42e15c
gh-120417: Modify test_bdb to use the import ( #120628 )
...
Run test_module_for_bdb with a specific namespace.
2024-06-17 21:06:18 +02:00
Victor Stinner
c608477532
gh-120417: Remove unused imports in tests (part 1) ( #120629 )
2024-06-17 21:05:56 +02:00
Victor Stinner
5a8a979aeb
gh-120417: Remove unused imports in tests (part 2) ( #120630 )
2024-06-17 21:05:37 +02:00
Victor Stinner
f916b77fea
gh-120417: Remove unused imports in tests (part 3) ( #120631 )
2024-06-17 21:04:58 +02:00
Daniele Parmeggiani
362cd2680b
gh-117657: Fix `__slots__` thread safety in free-threaded build ( #119368 )
...
Fix a race in `PyMember_GetOne` and `PyMember_SetOne` for `Py_T_OBJECT_EX`.
These functions implement `__slots__` accesses for Python objects.
2024-06-17 18:44:54 +00:00
Sam Gross
460cc9e14e
gh-117657: Fix TSan reported data race on ioctl_works ( #120175 )
2024-06-17 13:23:40 -04:00
Victor Stinner
d9b4316374
gh-120417: Remove unused imports in Tools ( #120623 )
2024-06-17 18:09:26 +02:00
Victor Stinner
6acf7776ef
gh-120507: Double WASI memory ( #120648 )
...
Use 16 MiB stack with 40 MiB memory limit, instead of 8 MiB stack
with 20 MiB memory limit.
2024-06-17 16:08:05 +00:00