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
Saul Pwanson
0506f75c53
fix enum doc typo ( #120091 )
2024-06-17 21:31:15 +05:30
AN Long
28140d1f2d
gh-115649: Copy the filename into main interpreter before intern in import.c ( #120315 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2024-06-17 21:27:22 +05:30
Kirill Podoprigora
95737bbf18
gh-120433: Mention ``chocolatey`` for installing llvm on Windows as an alternative option ( #120434 )
2024-06-17 15:52:07 +00:00
Victor Stinner
f4d301d8b9
gh-120417: Remove unused imports in tests (part 4) ( #120632 )
2024-06-17 17:35:20 +02:00
Victor Stinner
5c4235cd8c
gh-119182: Add PyUnicodeWriter C API ( #119184 )
2024-06-17 17:10:52 +02:00
Steele Farnsworth
2c7209a3bd
gh-114091: Reword error message for unawaitable types ( #114090 )
...
Reword error message for unawaitable types.
2024-06-17 20:18:17 +05:30
Carol Willing
a26d27e7ee
Update the documentation howto index page and group docs into 3 logical sections (GH-119366)
...
Co-authored-by: Ned Batchelder <ned@nedbatchelder.com>
2024-06-17 16:37:33 +02:00
Bénédikt Tran
4bf17c381f
gh-119933: Improve ``SyntaxError`` message for invalid type parameters expressions ( #119976 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-06-17 06:51:03 -07:00
Mark Shannon
274f844830
GH-120619: Clean up `RETURN_VALUE` instruction (GH-120624)
...
* Rename _POP_FRAME to _RETURN_VALUE as it returns a value as well as popping a frame.
* Remove remaining _POP_FRAMEs
2024-06-17 14:40:11 +01:00
Frank Dana
79e09e60d8
itertools doc: examples for groupby() and tee() ( #120618 )
2024-06-17 08:19:14 -05:00
Ruben Vorderman
945a89b48f
gh-120196: Reuse find_max_char() for bytes objects ( #120497 )
2024-06-17 12:21:58 +02:00
Irit Katriel
21866c8ed2
gh-120367: fix removal of redundant NOPs and jumps after reordering hot-cold blocks ( #120425 )
2024-06-17 10:10:06 +00:00
Victor Stinner
c2d5df5787
gh-83754: Use the Py_TYPE() macro ( #120599 )
...
Don't access directly PyObject.ob_type, but use the Py_TYPE() macro
instead.
2024-06-17 10:34:29 +02:00
Nikita Sobolev
3df2022931
gh-120586: Fix several "unused function" warnings in `posixmodule.c` ( #120588 )
2024-06-17 09:44:13 +03:00
Gregory P. Smith
bac4edad69
gh-112346: Document the OS byte in `gzip.compress` output change in 3.11 ( #120480 )
...
gh-112346: Describe the "os" byte in gzip output change.
2024-06-16 22:47:10 -07:00