python3.13: update to version 3.13.3. (#12213)

This commit is contained in:
OscarL
2025-04-20 04:27:51 +00:00
committed by GitHub
parent 5020c5e391
commit 92413b58b1
2 changed files with 141 additions and 152 deletions

View File

@@ -1,4 +1,4 @@
From 4ab975ca10ba220d2a90a710bc26455bc0801311 Mon Sep 17 00:00:00 2001
From c1ff79287e66f75526627c52eb4abbc6ae8f82a6 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Sun, 8 Oct 2023 01:02:25 -0300
Subject: initial Haiku patch
@@ -22,7 +22,7 @@ index 2ba81a4..8ba7902 100644
// See PyUnicode_DecodeFSDefaultAndSize(), PyUnicode_EncodeFSDefault(),
// Py_DecodeLocale() and Py_EncodeLocale().
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 46a37de..1e4122d 100644
index 3bd4495..1b4c40b 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -149,7 +149,7 @@ BINDIR= @bindir@
@@ -194,20 +194,20 @@ index 3fcb189..8e54330 100644
esac
AC_MSG_CHECKING([for --with-libm=STRING])
--
2.45.2
2.48.1
From a61aa9f3ef8b7adb8945cbde570c001e2dd6fb94 Mon Sep 17 00:00:00 2001
From c7782a95c6d08a325210ceb285cdb2d4422ed32b Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sun, 16 Apr 2017 10:05:42 +0200
Subject: fix for negative errnos
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 98b98be..22a88f8 100644
index 4a9a64e..5ab9e22 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -1959,6 +1959,8 @@ class Popen:
@@ -1954,6 +1954,8 @@ class Popen:
SubprocessError)
if issubclass(child_exception_type, OSError) and hex_errno:
errno_num = int(hex_errno, 16)
@@ -232,10 +232,10 @@ index daec4ad..1647199 100644
*--cur = Py_hexdigits[saved_errno % 16];
saved_errno /= 16;
--
2.45.2
2.48.1
From 2334552fda9d9218734b970fd2ed4bb08d2a2a5c Mon Sep 17 00:00:00 2001
From 6c0931c50128771a78124a75894030cb534a3d16 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Sun, 8 Oct 2023 20:06:31 -0300
Subject: Implement CTypes's find_library for Haiku
@@ -329,10 +329,10 @@ index 117bf06..6301aa2 100644
print(cdll.LoadLibrary("libm.so"))
print(cdll.LoadLibrary("libcrypt.so"))
--
2.45.2
2.48.1
From a98dbcabc3647e19e1f198d167f4814b831b4537 Mon Sep 17 00:00:00 2001
From 88736af1e86b217933d7ecf1ee82df431f60bc79 Mon Sep 17 00:00:00 2001
From: Philipp Wolfer <phil@parolu.io>
Date: Mon, 23 Sep 2019 09:14:58 +0200
Subject: webbrowser: Support for default browsers on Haiku
@@ -356,10 +356,10 @@ index 2f9555a..90bea57 100755
# First try to use the default Windows browser
register("windows-default", WindowsDefault)
--
2.45.2
2.48.1
From c899efa98767ad3c1ac7a5dbd8e0fa223a4317b1 Mon Sep 17 00:00:00 2001
From 24f65166fb31b9d79b31697f1a3a5298368cce2b Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 4 Oct 2019 22:02:35 +0200
Subject: since 3.8, don't reinit locks on fork.
@@ -379,10 +379,10 @@ index aa9b79d..b99e1e0 100644
pass # no-op when os.register_at_fork does not exist.
else:
--
2.45.2
2.48.1
From 0b6a8ba0ec22ed05aa04af578e11d956c68ed311 Mon Sep 17 00:00:00 2001
From 0decfe94924e50eabe6f34cbddb3e79708e98377 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 15 May 2020 15:20:57 +0200
Subject: handle errors returned by internal_connect()
@@ -390,10 +390,10 @@ Subject: handle errors returned by internal_connect()
upstream bug #40628 by Ryan C. Gordon
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 1c0bc79..e8d1cf2 100644
index e2afe50..a41aaca 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -3483,7 +3483,7 @@ sock_connect(PySocketSockObject *s, PyObject *addro)
@@ -3534,7 +3534,7 @@ sock_connect(PySocketSockObject *s, PyObject *addro)
}
res = internal_connect(s, SAS2SA(&addrbuf), addrlen, 1);
@@ -402,7 +402,7 @@ index 1c0bc79..e8d1cf2 100644
return NULL;
Py_RETURN_NONE;
@@ -3514,7 +3514,7 @@ sock_connect_ex(PySocketSockObject *s, PyObject *addro)
@@ -3565,7 +3565,7 @@ sock_connect_ex(PySocketSockObject *s, PyObject *addro)
}
res = internal_connect(s, SAS2SA(&addrbuf), addrlen, 0);
@@ -412,20 +412,20 @@ index 1c0bc79..e8d1cf2 100644
return PyLong_FromLong((long) res);
--
2.45.2
2.48.1
From e9da56074bc25080a4ddccdd1902f2b19c4cf8bb Mon Sep 17 00:00:00 2001
From 02a638d1ba2fcb67b6b7da45803b86322df43bae Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Mon, 19 Oct 2020 18:03:09 +0200
Subject: ttyname_r can use MAXPATHLEN
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 40d0f86..140cce8 100644
index 601145e..754baa9 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -3314,11 +3314,14 @@ static PyObject *
@@ -3318,11 +3318,14 @@ static PyObject *
os_ttyname_impl(PyObject *module, int fd)
/*[clinic end generated code: output=c424d2e9d1cd636a input=9ff5a58b08115c55]*/
{
@@ -442,10 +442,10 @@ index 40d0f86..140cce8 100644
if (buffer == NULL) {
return PyErr_NoMemory();
--
2.45.2
2.48.1
From 549c7dcf5aa14f0a7ee953d4485afd4e24ffe157 Mon Sep 17 00:00:00 2001
From 862f6fb3121e0ecd9725d26b0ab4e22fe81d4649 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Mon, 24 Oct 2022 20:04:10 -0300
Subject: Lib/test: require the "largefile" usage flag for I/O heavy tests.
@@ -456,7 +456,7 @@ This avoids needing several GBs of storage to run the tests
(unless the "largefile" resource usage flag is enabled).
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index f1f8ce5..895815e 100644
index 1124955..614aff8 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -628,7 +628,7 @@ class IOTest(unittest.TestCase):
@@ -495,10 +495,10 @@ index a1cf538..c04d9e3 100644
'test requires %s bytes and a long time to run' % str(0x180000000))
f = open(TESTFN, 'w+b')
--
2.45.2
2.48.1
From 65a73d2ac7eb72a369d73af3446a881b40658395 Mon Sep 17 00:00:00 2001
From b0f164c467dbc7d8f8a24b650639df089d12538c Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Sat, 27 Jul 2024 04:51:52 -0300
Subject: _getuserbase(), getsitepackages(), and INSTALL_SCHEMES for Haiku.
@@ -577,7 +577,7 @@ index 89a81c5..3477bf6 100644
if sys.platlibdir != "lib":
libdirs.append("lib")
diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py
index 7bcb737..24cb0af 100644
index 510c7b9..7a17472 100644
--- a/Lib/sysconfig/__init__.py
+++ b/Lib/sysconfig/__init__.py
@@ -48,6 +48,36 @@ _INSTALL_SCHEMES = {
@@ -674,7 +674,7 @@ index 7bcb737..24cb0af 100644
'osx_framework_user': {
'stdlib': '{userbase}/lib/{implementation_lower}',
'platstdlib': '{userbase}/lib/{implementation_lower}',
@@ -278,6 +337,18 @@ def _expand_vars(scheme, vars):
@@ -285,6 +344,18 @@ def _expand_vars(scheme, vars):
def _get_preferred_schemes():
@@ -694,7 +694,7 @@ index 7bcb737..24cb0af 100644
return {
'prefix': 'nt',
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index bf53413..80daae7 100644
index aca02c0..e7ff98d 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -386,9 +386,10 @@ class TestSysConfig(unittest.TestCase):
@@ -711,10 +711,10 @@ index bf53413..80daae7 100644
@skip_unless_symlink
--
2.45.2
2.48.1
From 9045cae00dda9b2a95df757c73d16a6de7ba2aed Mon Sep 17 00:00:00 2001
From 30a2e9f950bcad453ca51d1a61ba0680fc2389a6 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Mon, 12 Feb 2024 08:39:38 -0300
Subject: Fix location of REPL's history file.
@@ -750,10 +750,10 @@ index 3477bf6..cfd4e49 100644
def enablerlcompleter():
--
2.45.2
2.48.1
From 6e04400130cf2c45057adfb8632e05b8bcad4dfe Mon Sep 17 00:00:00 2001
From 92e9504e82d1fa951dd32c3ce8f0dc024c007f9f Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Sun, 8 Oct 2023 17:02:19 -0300
Subject: Use spawn instead of fork for multiprocessing.
@@ -803,10 +803,10 @@ index de8a264..02a301e 100644
# on macOS since macOS 10.14 (Mojave). Use spawn by default instead.
_default_context = DefaultContext(_concrete_contexts['spawn'])
--
2.45.2
2.48.1
From f43d869f24911e4cc8feae8d58f64cc8221d6cd9 Mon Sep 17 00:00:00 2001
From 8283651371ed8ac3d36b688ad1ecf90a6c75bd94 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Sun, 10 Dec 2023 19:50:22 -0300
Subject: Miscellaneous "Lib/test/" fixes for Haiku.
@@ -817,10 +817,10 @@ Content-Transfer-Encoding: 8bit
test_fileio.py fix from "initial Haiku patch" by Jérôme Duval.
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index a2ed99a..e8449b9 100644
index 952176b..2a23ff0 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -6080,6 +6080,9 @@ def pairs(iterable):
@@ -6086,6 +6086,9 @@ def pairs(iterable):
class ZoneInfo(tzinfo):
zoneroot = '/usr/share/zoneinfo'
@@ -843,10 +843,10 @@ index 0611d17..ce7c87d 100644
# Somehow /dev/tty appears seekable on some BSDs
self.assertEqual(f.seekable(), False)
--
2.45.2
2.48.1
From b16f098ff737977d58c900b4c84540ed573843d7 Mon Sep 17 00:00:00 2001
From 3ede5eb2e516df3efb2ee15fd1f5d4214ddc9d79 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Mon, 12 Feb 2024 10:50:34 -0300
Subject: Fix build on nightlies, following the addition of kqueue.
@@ -909,10 +909,10 @@ index 5bd9b77..88e29a4 100644
/* NETDEV filter flags */
--
2.45.2
2.48.1
From 5009cfba6798c0ea4499f676bdcbd006d53d0e23 Mon Sep 17 00:00:00 2001
From 06130abe2fc72c3c644811ac9012beb4dc9724df Mon Sep 17 00:00:00 2001
From: Alexander von Gluck IV <kallisti5@unixzen.com>
Date: Thu, 14 Mar 2024 12:54:33 -0500
Subject: config.guess: Update to universal haiku arch guessing
@@ -939,10 +939,10 @@ index e81d3ae..366429c 100755
SX-4:SUPER-UX:*:*)
GUESS=sx4-nec-superux$UNAME_RELEASE
--
2.45.2
2.48.1
From d8a155ab052cb6794e6cd268a62262f198ab7ea4 Mon Sep 17 00:00:00 2001
From 4ff86bb269b52cbdf67b33afcf22b880ad4a2b9d Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Fri, 9 Aug 2024 13:38:28 -0300
Subject: fix test_utf8_mode.
@@ -962,10 +962,10 @@ index f668810..a55a8e4 100644
elif sys.platform.startswith("aix"):
c_arg = arg.decode('iso-8859-1')
--
2.45.2
2.48.1
From 538c632f81e8d62b9b9e68f9231eafd48c5b7888 Mon Sep 17 00:00:00 2001
From b9e64a6a7fc28878a05df394477b149386138baa Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Fri, 9 Aug 2024 14:35:04 -0300
Subject: Fix test_site.
@@ -1025,7 +1025,7 @@ index cfd4e49..b414150 100644
libdirs = [sys.platlibdir]
if sys.platlibdir != "lib":
diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
index 2df17b9..332063b 100644
index 57f4f1e..841c24a 100644
--- a/Lib/test/test_site.py
+++ b/Lib/test/test_site.py
@@ -323,7 +323,21 @@ class HelperFunctionsTests(unittest.TestCase):
@@ -1052,17 +1052,17 @@ index 2df17b9..332063b 100644
if sys.platlibdir != "lib":
self.assertEqual(len(dirs), 2)
--
2.45.2
2.48.1
From fb5a29ef37d19d646dde05db259802747b94d179 Mon Sep 17 00:00:00 2001
From a617a93b6110e6bdf2b7c79ba91110bc3ab168f1 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Fri, 9 Aug 2024 15:37:13 -0300
Subject: Fix test_sysconfig.
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index 80daae7..5194c47 100644
index e7ff98d..017c676 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -221,6 +221,19 @@ class TestSysConfig(unittest.TestCase):
@@ -1095,10 +1095,10 @@ index 80daae7..5194c47 100644
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user', 'haiku_user'])
self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
--
2.45.2
2.48.1
From 9501c1a9f4f4b89670a92c36404e9116f2ebbca2 Mon Sep 17 00:00:00 2001
From 8e1d4e088545b103b11b4f7fb985492e7780a060 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Sun, 29 Sep 2024 03:01:27 -0300
Subject: Partially fix test_compileall by skipping tests that need hardlink
@@ -1106,10 +1106,10 @@ Subject: Partially fix test_compileall by skipping tests that need hardlink
diff --git a/Lib/test/support/os_helper.py b/Lib/test/support/os_helper.py
index 8914059..bfedd2d 100644
index ae01644..b701fd9 100644
--- a/Lib/test/support/os_helper.py
+++ b/Lib/test/support/os_helper.py
@@ -206,6 +206,8 @@ def can_hardlink():
@@ -207,6 +207,8 @@ def can_hardlink():
# Android blocks hard links using SELinux
# (https://stackoverflow.com/q/32365690).
_can_hardlink = hasattr(os, "link") and not support.is_android
@@ -1131,10 +1131,10 @@ index 21ecebc..632fc1c 100644
# 'a = 0' code produces the same bytecode for the 3 optimization
# levels. All three .pyc files must have the same inode (hardlinks).
--
2.45.2
2.48.1
From 15562f756b5cca4e47859d90a0bb9881c5b7649f Mon Sep 17 00:00:00 2001
From d28046562d65e17576f9cc4eed86cf1ab6953ddf Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Thu, 9 May 2024 15:16:26 -0300
Subject: Fix 3.13.0 build.
@@ -1147,7 +1147,7 @@ Previous Python versions had both the time out and the "|| true".
Some of the test run in that PGO stage sadly still fail on Haiku.
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 1e4122d..6c9a2ef 100644
index 1b4c40b..c46e950 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -752,7 +752,7 @@ profile-run-stamp:
@@ -1182,10 +1182,10 @@ index 4d3fb65..be95e7d 100644
#if !defined(__HAIKU__) && !defined(__APPLE__) && !defined(__CYGWIN__) && !defined(_AIX) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__sun) && !defined(__NetBSD__)
--
2.45.2
2.48.1
From 11cf4f8dda81d2463aa3483367ae0e36e4dcfb3e Mon Sep 17 00:00:00 2001
From 1af03ce03c52e186d6699b738243527b8c26b6d2 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Sat, 5 Oct 2024 07:32:17 -0300
Subject: Avoid forcing "-g" on LTO builds, unless Py_DEBUG is defined.
@@ -1207,5 +1207,5 @@ index 8e54330..e197041 100644
CFLAGS_NODIST="$CFLAGS_NODIST ${LTOCFLAGS-$LTOFLAGS}"
--
2.45.2
2.48.1

View File

@@ -13,7 +13,7 @@ LICENSE="Python"
COPYRIGHT="1990-2025 Python Software Foundation"
REVISION="1"
SOURCE_URI="https://www.python.org/ftp/python/$portVersion/Python-$portVersion.tar.xz"
CHECKSUM_SHA256="d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56"
CHECKSUM_SHA256="40f868bcbdeb8149a3149580bb9bfd407b3321cd48f0be631af955ac92c0e041"
SOURCE_DIR="Python-$portVersion"
pyShortVer="${portVersion%.*}"
@@ -53,9 +53,15 @@ packageTests=false
# Set to "false" for faster local/test builds. Around 4 to 5 times faster that way.
optimizedBuild=true
# Generally, we disable parallel builds if "optimizedBuild == true" as they can fail.
forceParallelBuild=true
# Run all tests by default. Set to "true" to make "hp --test" only run then known failing tests.
runOnlyKnownFailingTests=false
# Run only the tests that are generally excluded. Expect LOTS of hangs/crashes/etc.
runOnlyExcludedTests=false
# <<<[RECIPE OPTIONS]
PROVIDES="
@@ -172,7 +178,7 @@ BUILD()
--with-readline=editline \
--with-system-expat \
--with-system-libmpdec=no \
--with-tzpath=$dataDir/zoneinfo \
--with-tzpath=$(findpaths -c : B_FIND_PATH_DATA_DIRECTORY zoneinfo) \
--without-static-libpython \
--with-lto
@@ -204,9 +210,11 @@ BUILD()
#
# Not using multiple jobs for make solves both the warnings and the possible error.
if $optimizedBuild; then
if $optimizedBuild && ! $forceParallelBuild; then
echo "Running make with: -j 1"
make -j 1
else
echo "Running make with: $jobArgs"
make $jobArgs
fi
}
@@ -288,10 +296,10 @@ INSTALL()
# "hp --test"'s chroot. (test_sysconfig.MakefileTests.test_parse_makefile, for example).
# Problem is "os.getcwd()" will return wrong data, causing some file operations to fail.
# For reference, results on hrev57937+125 (64 bits bare-metal):
# Total tests: run=37,204 failures=596 skipped=1,415
# Total test files: run=426/409 failed=22 skipped=28 resource_denied=5 rerun=22
# (a few more failures than usual, possibly due to having ran the tests from ramfs)
# For reference, results on hrev57937+129 (64 bits, VMware, no-RAMFS):
# Total duration: 9 min 42 sec
# Total tests: run=40,337 failures=672 skipped=1,798
# Total test files: run=465/445 failed=27 skipped=32 resource_denied=7 rerun=27
TEST()
{
# Remove tests data left-overs, if any:
@@ -301,6 +309,7 @@ TEST()
local test_options=(
# Use this to get same test order on different runs (actual value not important).
-r
--randseed 7858065
# Print the names of the 10 slowest tests.
@@ -319,16 +328,10 @@ TEST()
)
local tests_to_exclude=(
# distutils is deprecated, and will be removed on 3.12.
-x test_distutils
# The following tests invoke the crash dialog, and unless your configure
# debug_server default action to "kill" or "report", they will hang waiting for
# user input. See comment above TEST().
-x test_faulthandler
-x test_futures # from test_asyncio. Crashes: Exception (Segment violation)
-x test_subprocess # tends to hang.
-x test_threading # tends to hang.
-x test_threading # tends to hang (or at least run for more than 5 minutes).
# Many of the tests hang/stall. We have two options:
#
@@ -346,26 +349,10 @@ TEST()
# Let's use Option 1, for now at least.
# These hang reliably.
-x test__xxsubinterpreters
-x test_cmd_line
-x test_concurrent_futures
-x test_eintr
-x test_interpreters
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
-x test_multiprocessing_main_handling
-x test_multiprocessing_spawn
-x test_os
-x test_posix
-x test_random
-x test_socketserver
-x test_threaded_import # test_importlib/test_threaded_import
-x test_tracemalloc
-x test_uuid
-x test_threaded_import # test_importlib.test_threaded_import
# "test_asyncio" doesn't seems to runs reliably, even after individually skipping
# all the problematic test-cases that could be identify by running them one by one.
# -x test_asyncio
# The following are all under test_asyncio/
-x test_base_events
-x test_buffered_proto # Exception on Exception handler.
@@ -376,89 +363,91 @@ TEST()
-x test_sslproto # Exception on Exception handler.
-x test_streams
-x test_unix_events
# -i TestThreadedServer # in test_asyncio.functional
# These not always hang/stall, but they do it enough to warrant skipping for now.
-x test_imaplib
-x test_signal
-x test_multiprocessing_fork #? resource_tracker: process died unexpectedly
-x test_multiprocessing_forkserver #?
-x test_socket
-x test_ssl
-x test_urllib2_localnet
# 3.11
-x test_urllib2net
-x test_venv
# 3.12 Either too slow or hangs;
-x test_builtin
-x test_mailbox
-x test_tempfile
-x test_thread
# 3.12.1
-x test_queue
-x test_ssl # pegs one core to 100$
# 3.11.8 / 3.12.2 (hang on nightlies, at least)
-x test_httplib
-x test_httpservers
-x test_logging
-x test_xmlrpc
# Fails while outputing "ResourceWarning: unclosed <ssl.SSLSocket", but takes anywhere
# between 1 to 3+ minutes to end (and gets re-run!). Run it manually if needed, or
# re-enable once those SSLSocket warninings, that also pop up on other tests, get resolved.
-x test_ftplib # Shouldn't be enabled unless network-resource is granted.
# 3.12.6, on beta5
-x test_readline # hangs when running tests in parallel (or as part of the suite, at least).
# 3.13.0a3
# these shouldn't run unless the GUI resource is enabled.
-x test_idle
-x test_tkinter
-x test_ttk
# should probably also disable:
# -x test_pydoc
-x test_mmap # this one is a HDD killer :-(
# -x test_getpass
# -x test_perfmaps
# -x test_sqlite3
# -x test___all__ # ???
# 3.13.0b1 (these seem to hang)
-x test_fork1
-x test_pty
# need to find how to avoid re-running the failing tests
# 3.13.0rc1
# -x test_li[???] # at least one test with name starting with "test_li" seems to hang.
# 3.13.0rc2
-x test_ftplib # Hangs with high CPU usage.
# 3.12.10 (still on 3.13.3)
-x test_glob # sometimes hangs.
-x test_kqueue # hangs sometimes.
# hang on beta5 64 bits VM (no network connected):
-x test_httpservers
-x test_poplib
-x test_xmlrpc
)
local tests_that_fail=(
test__locale
test_c_locale_coercion
test_cmd
# test_compile # out of memory (with 2 GB of RAM)
test_datetime
test_fcntl
# test_ftplib
test_ctypes # stupid test compares wording of error message.
# test_compile # out of memory (with 2 GB of RAM)
test_datetime # on rare ocassions, it passes.
test_fcntl # "Permission denied" in test_lockf_exclusive
test_genericpath # os.path.getatime() should return an int.
test_json
test_glob # sometimes hangs.
test_importlib
test_json # "AssertionError: 13 != -2147459059" (errno.EPIPE)
test_kqueue # hangs.
test_math
test_popen
test_pyrepl # several: "module 'termios' has no attribute 'VREPRINT'". Adding hasattr(termios, 'VREPRINT') still results in error.
test_re
# test_readline # hangs sometimes.
test_shutil
test_tarfile # os.path.getmtime() should return an int. Also, path.stat().st_mtime and pathlib.Path(TEMPDIR).stat().st_mtime seems to be using different scales: 1723.215266 vs 1723215266.0319815
test_termios
test_time
test_tools
test_mailbox # fails to clean a temp file? (os.utime() related?)
test_math # test expects to get -0.0, gets 0.0
test_os # named pipes related errors. set_get_priority, ttyname, and utime fails.
test_popen # sign error numbers in waitstatus_to_exitcode()... "AssertionError: -42 != 42"
test_posix # test_posix_fallocate and test_link_dir_fd. Operation not supported.
test_pty # sometimes fails.
test_pyrepl # several: "module 'termios' has no attribute 'VREPRINT'". Adding hasattr(termios, 'VREPRINT') still results in error.
test_re # locale related failures.
test_readline # hangs sometimes (when run in parallel with test_pty, I think).
test_shutil # "Operation not supported" calling "os.scandir(topfd)".
test_signal # stupid test compares wording of strsignal(signal.SIGTERM).
test_strptime # locale related failures.
test_subprocess # "Device/File/Resource busy" calling setrlimit()
test_sysconfig # venv related failures.
test_tarfile # os.path.getmtime() should return an int. Also, path.stat().st_mtime and pathlib.Path(TEMPDIR).stat().st_mtime seems to be using different scales: 1723.215266 vs 1723215266.0319815
test_termios # tcdrain/tcflow/tcflush/tcsendbreak related failures.
test_time # ctime/mktime related failures.
test_tools # _strptime / "%z" related.
test_venv
)
local -x LOGNAME=buildbot # this skips tests_tools/test_freeze, copied from Gentoo's ebuild
# besides the above ones, the following only fail when the workdir is in RAMFS:
local tests_that_fail_only_on_ramfs=(
test.test_concurrent_futures.test_as_completed
test.test_concurrent_futures.test_deadlock
test.test_concurrent_futures.test_init
test.test_concurrent_futures.test_process_pool
test.test_concurrent_futures.test_shutdown
test.test_concurrent_futures.test_wait
test_multiprocessing_main_handling # "IsADirectoryError" when calling "subprocess._execute_child()"
test_pathlib
test_smtplib
test_stat
)
if $runOnlyKnownFailingTests; then
# test_freeze_simple_script is auto-skipped on PGO builds.
if ! $optimizedBuild; then
# This skips tests_tools.test_freeze, copied from Gentoo's ebuild.
local -x LOGNAME=buildbot
fi
if $runOnlyExcludedTests; then
make $jobArgs test EXTRATESTOPTS="${test_options[*]} ${tests_to_exclude[*]}"
elif $runOnlyKnownFailingTests; then
make $jobArgs test EXTRATESTOPTS="${test_options[*]} ${tests_that_fail[*]}"
else
# Runs the full test suite (minus the tests that we explicitly exclude).