Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion Apple/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -312,11 +312,18 @@ def unpack_deps(
On iOS, as a safety mechanism, any dynamic libraries will be purged from
the unpacked dependencies.
"""
# To create new builds of these dependencies, usually all that's necessary
# is to push a tag to the cpython-apple-source-deps repository, and GitHub
# Actions will do the rest.
#
# If you're a member of the Python core team, and you'd like to be able to
# push these tags yourself, please contact Malcolm Smith or Russell
# Keith-Magee.
deps_url = "https://github.com/beeware/cpython-apple-source-deps/releases/download"
for name_ver in [
"BZip2-1.0.8-2",
"libFFI-3.4.7-2",
"OpenSSL-3.0.17-1",
"OpenSSL-3.0.18-1",
"XZ-5.6.4-2",
"mpdecimal-4.0.0-2",
"zstd-1.5.7-1",
Expand Down
10 changes: 10 additions & 0 deletions Lib/test/support/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,16 @@ def requires(resource, msg=None):
if resource == 'gui' and not _is_gui_available():
raise ResourceDenied(_is_gui_available.reason)

def _get_kernel_version(sysname="Linux"):
import platform
if platform.system() != sysname:
return None
version_txt = platform.release().split('-', 1)[0]
try:
return tuple(map(int, version_txt.split('.')))
except ValueError:
return None

def _requires_unix_version(sysname, min_version):
"""Decorator raising SkipTest if the OS is `sysname` and the version is less
than `min_version`.
Expand Down
8 changes: 7 additions & 1 deletion Lib/test/test_socket.py
Original file line number Diff line number Diff line change
Expand Up @@ -7139,8 +7139,14 @@ def test_aes_cbc(self):
self.assertEqual(len(dec), msglen * multiplier)
self.assertEqual(dec, msg * multiplier)

@support.requires_linux_version(4, 9) # see issue29324
@support.requires_linux_version(4, 9) # see gh-73510
def test_aead_aes_gcm(self):
kernel_version = support._get_kernel_version("Linux")
if kernel_version is not None:
if kernel_version >= (6, 16) and kernel_version < (6, 18):
# See https://github.com/python/cpython/issues/139310.
self.skipTest("upstream Linux kernel issue")

key = bytes.fromhex('c939cc13397c1d37de6ae0e1cb7c423c')
iv = bytes.fromhex('b3d8cc017cbb89b39e0f67e2')
plain = bytes.fromhex('c3b3c41f113a31b73d9a5cd432103069')
Expand Down
Loading