[3.9] gh-139310: skip test_aead_aes_gcm for Linux kernel between 6.16.0 and 6.17.x (GH-139552) (GH-139763)

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 41712c4e09)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
This commit is contained in:
Miss Islington (bot) 2025-10-09 11:13:16 +02:00 committed by GitHub
parent 76437ac248
commit f9728747f8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 1 deletions

View file

@ -571,6 +571,16 @@ def requires(resource, msg=None):
if resource == 'gui' and not _is_gui_available(): if resource == 'gui' and not _is_gui_available():
raise ResourceDenied(_is_gui_available.reason) 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): def _requires_unix_version(sysname, min_version):
"""Decorator raising SkipTest if the OS is `sysname` and the version is less """Decorator raising SkipTest if the OS is `sysname` and the version is less
than `min_version`. than `min_version`.

View file

@ -6452,8 +6452,14 @@ def test_aes_cbc(self):
self.assertEqual(len(dec), msglen * multiplier) self.assertEqual(len(dec), msglen * multiplier)
self.assertEqual(dec, msg * 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): 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') key = bytes.fromhex('c939cc13397c1d37de6ae0e1cb7c423c')
iv = bytes.fromhex('b3d8cc017cbb89b39e0f67e2') iv = bytes.fromhex('b3d8cc017cbb89b39e0f67e2')
plain = bytes.fromhex('c3b3c41f113a31b73d9a5cd432103069') plain = bytes.fromhex('c3b3c41f113a31b73d9a5cd432103069')