Skip to content

Commit 7c914af

Browse files
Merge remote-tracking branch 'upstream/main' into solaris-xopen-source
2 parents 21d8670 + d1174a4 commit 7c914af

274 files changed

Lines changed: 2579 additions & 18330 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.azure-pipelines/windows-layout-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ steps:
1212
displayName: Show layout info (${{ parameters.kind }})
1313

1414
- ${{ if eq(parameters.fulltest, 'true') }}:
15-
- script: .\python.exe -m test -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results-${{ parameters.kind }}.xml" --tempdir "$(Build.BinariesDirectory)\tmp-${{ parameters.kind }}-$(arch)" -i test_launcher
15+
- script: .\python.exe -m test -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results-${{ parameters.kind }}.xml" --tempdir "$(Build.BinariesDirectory)\tmp-${{ parameters.kind }}-$(arch)"
1616
workingDirectory: $(Build.BinariesDirectory)\layout-${{ parameters.kind }}-$(arch)
1717
displayName: ${{ parameters.kind }} Tests
1818
env:

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
*.zip binary
2020

2121
# Specific binary files
22-
PC/classicAppCompat.* binary
22+
# -- None right now --
2323

2424
# Text files that should not be subject to eol conversion
2525
[attr]noeol -text

.github/CODEOWNERS

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,8 @@ Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski
188188
PC/ @python/windows-team
189189
PCbuild/ @python/windows-team
190190

191-
# Windows installer packages
192-
Tools/msi/ @python/windows-team
193-
Tools/nuget/ @python/windows-team
194-
195-
# Windows Launcher
196-
PC/launcher.c @python/windows-team @vsajip
191+
# Windows Venv launcher/redirector
192+
PC/venvlauncher.c @python/windows-team @vsajip
197193

198194

199195
# ----------------------------------------------------------------------------

.github/workflows/build.yml

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -181,22 +181,6 @@ jobs:
181181
free-threading: ${{ matrix.free-threading }}
182182
interpreter: ${{ matrix.interpreter }}
183183

184-
build-windows-msi:
185-
# ${{ '' } is a hack to nest jobs under the same sidebar category.
186-
name: Windows MSI${{ '' }} # zizmor: ignore[obfuscation]
187-
needs: build-context
188-
if: fromJSON(needs.build-context.outputs.run-windows-msi)
189-
strategy:
190-
fail-fast: false
191-
matrix:
192-
arch:
193-
- x86
194-
- x64
195-
- arm64
196-
uses: ./.github/workflows/reusable-windows-msi.yml
197-
with:
198-
arch: ${{ matrix.arch }}
199-
200184
build-macos:
201185
name: >-
202186
macOS
@@ -650,7 +634,6 @@ jobs:
650634
- check-generated-files
651635
- check-c-api-docs
652636
- build-windows
653-
- build-windows-msi
654637
- build-macos
655638
- build-ubuntu
656639
- build-ubuntu-ssltests
@@ -671,7 +654,6 @@ jobs:
671654
allowed-failures: >-
672655
build-android,
673656
build-emscripten,
674-
build-windows-msi,
675657
build-ubuntu-ssltests,
676658
test-hypothesis,
677659
cifuzz,

.github/workflows/reusable-context.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,6 @@ on: # yamllint disable-line rule:truthy
4747
run-wasi:
4848
description: Whether to run the WASI tests
4949
value: ${{ jobs.compute-changes.outputs.run-wasi }} # bool
50-
run-windows-msi:
51-
description: Whether to run the MSI installer smoke tests
52-
value: ${{ jobs.compute-changes.outputs.run-windows-msi }} # bool
5350
run-windows-tests:
5451
description: Whether to run the Windows tests
5552
value: ${{ jobs.compute-changes.outputs.run-windows-tests }} # bool
@@ -73,7 +70,6 @@ jobs:
7370
run-ubuntu: ${{ steps.changes.outputs.run-ubuntu }}
7471
run-emscripten: ${{ steps.changes.outputs.run-emscripten }}
7572
run-wasi: ${{ steps.changes.outputs.run-wasi }}
76-
run-windows-msi: ${{ steps.changes.outputs.run-windows-msi }}
7773
run-windows-tests: ${{ steps.changes.outputs.run-windows-tests }}
7874
steps:
7975
- name: Set up Python

.github/workflows/reusable-windows-msi.yml

Lines changed: 0 additions & 31 deletions
This file was deleted.

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ gmon.out
5050

5151
*.exe
5252

53-
# Ignore core dumps... but not Tools/msi/core/ or the like.
53+
# Ignore core dumps... but not .../core/ subdirectories
5454
core
5555
!core/
5656

@@ -158,7 +158,6 @@ Tools/unicode/data/
158158
/coverage/
159159
/externals/
160160
/htmlcov/
161-
Tools/msi/obj
162161
Tools/ssl/amd64
163162
Tools/ssl/win32
164163
Tools/freeze/test/outdir

Doc/c-api/type.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ Type Objects
3737
3838
Clear the internal lookup cache. Return the current version tag.
3939
40+
.. versionchanged:: 3.16
41+
This function is now a no-op as the type cache is now implemented
42+
per-type. It still returns the current version tag.
43+
4044
.. c:function:: unsigned long PyType_GetFlags(PyTypeObject* type)
4145
4246
Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This function is primarily

Doc/library/annotationlib.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -535,9 +535,9 @@ following attributes:
535535
:attr:`~Format.VALUE_WITH_FAKE_GLOBALS`.
536536
* A :ref:`code object <code-objects>` ``__code__`` containing the compiled code for the
537537
annotate function.
538-
* Optional: A tuple of the function's positional defaults ``__kwdefaults__``, if the
538+
* Optional: A tuple of the function's positional defaults ``__defaults__``, if the
539539
function represented by ``__code__`` uses any positional defaults.
540-
* Optional: A dict of the function's keyword defaults ``__defaults__``, if the function
540+
* Optional: A dict of the function's keyword defaults ``__kwdefaults__``, if the function
541541
represented by ``__code__`` uses any keyword defaults.
542542
* Optional: All other :ref:`function attributes <inspect-types>`.
543543

Doc/library/asyncio-subprocess.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,10 +240,34 @@ their completion.
240240
Note, that the data read is buffered in memory, so do not use
241241
this method if the data size is large or unlimited.
242242

243+
If this coroutine is cancelled (for example, when a timeout is
244+
set with :func:`~asyncio.wait_for`), the output that was already
245+
read is not lost: call :meth:`!communicate` again to read the
246+
remaining output and get the complete data::
247+
248+
try:
249+
stdout, stderr = await asyncio.wait_for(
250+
proc.communicate(), timeout=5.0)
251+
except TimeoutError:
252+
proc.kill()
253+
stdout, stderr = await proc.communicate()
254+
255+
Passing *input* after a previous :meth:`!communicate` call was
256+
cancelled raises :exc:`ValueError`; pass ``input=None`` to
257+
continue the communication, the original *input* is used.
258+
243259
.. versionchanged:: 3.12
244260

245261
*stdin* gets closed when ``input=None`` too.
246262

263+
.. versionchanged:: next
264+
265+
If :meth:`!communicate` is cancelled, the output that was
266+
already read is now preserved and returned by a subsequent
267+
:meth:`!communicate` call. Passing *input* to a
268+
:meth:`!communicate` call following a cancelled one now raises
269+
:exc:`ValueError`.
270+
247271
.. method:: send_signal(signal)
248272

249273
Sends the signal *signal* to the child process.

0 commit comments

Comments
 (0)