Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python311 - update from 3.11.6 to 3.11.7 #3421

Merged
merged 1 commit into from
Dec 8, 2023
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
6 changes: 3 additions & 3 deletions build/python311/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
. ../../lib/build.sh

PROG=Python
VER=3.11.6
VER=3.11.7
PKG=runtime/python-311
MVER=${VER%.*}
SUMMARY="$PROG $MVER"
Expand Down Expand Up @@ -124,8 +124,8 @@ post_configure() {
}

TESTSUITE_SED="
1,/tests* OK/ {
/tests* OK/p
1,/Tests result:/ {
/Tests result:/p
d
}
/Total duration/d
Expand Down
2 changes: 1 addition & 1 deletion build/python311/patches/cross-aarch64.patch
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ diff -wpruN --no-dereference '--exclude=*.orig' a~/configure.ac a/configure.ac
else
ac_sys_system=`uname -s`
if test "$ac_sys_system" = "AIX" \
@@ -608,6 +612,15 @@ if test "$cross_compiling" = yes; then
@@ -616,6 +620,15 @@ if test "$cross_compiling" = yes; then
wasm32-*-* | wasm64-*-*)
_host_cpu=$host_cpu
;;
Expand Down
2 changes: 1 addition & 1 deletion build/python311/patches/disable_epoll.patch
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ There is no nice way to tell configure that we don't have it
diff -wpruN --no-dereference '--exclude=*.orig' a~/configure.ac a/configure.ac
--- a~/configure.ac 1970-01-01 00:00:00
+++ a/configure.ac 1970-01-01 00:00:00
@@ -4654,8 +4654,8 @@ PY_CHECK_FUNC([symlink], [#include <unis
@@ -4662,8 +4662,8 @@ PY_CHECK_FUNC([symlink], [#include <unis
PY_CHECK_FUNC([fchdir], [#include <unistd.h>])
PY_CHECK_FUNC([fsync], [#include <unistd.h>])
PY_CHECK_FUNC([fdatasync], [#include <unistd.h>])
Expand Down
2 changes: 1 addition & 1 deletion build/python311/patches/revert-makedirs.patch
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/os.py a/Lib/os.py
diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/test/test_os.py a/Lib/test/test_os.py
--- a~/Lib/test/test_os.py 1970-01-01 00:00:00
+++ a/Lib/test/test_os.py 1970-01-01 00:00:00
@@ -1600,12 +1600,12 @@ class MakedirTests(unittest.TestCase):
@@ -1603,12 +1603,12 @@ class MakedirTests(unittest.TestCase):
base = os_helper.TESTFN
parent = os.path.join(base, 'dir1')
path = os.path.join(parent, 'dir2')
Expand Down
9 changes: 5 additions & 4 deletions build/python311/patches/series
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,16 @@ mod-shutil-sendfile.patch
mod-socket-xpg6.patch
#
# Test related
test-email.patch
test-filecomments.patch
test-freeze.patch
test-metadata.patch
test-opts.patch
test-vmlimit.patch
test-processgroup.patch
test-zipfile.patch
test-pkgutil.patch
test-metadata.patch
test-processgroup.patch
test-tarfile.patch
test-termios.patch
test-zipfile.patch
revert-makedirs.patch
#
# Do not add ustack.patch to this file, it is used to build the debug
Expand Down
12 changes: 12 additions & 0 deletions build/python311/patches/test-email.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/test/test_email/test_utils.py a/Lib/test/test_email/test_utils.py
--- a~/Lib/test/test_email/test_utils.py 1970-01-01 00:00:00
+++ a/Lib/test/test_email/test_utils.py 1970-01-01 00:00:00
@@ -145,6 +145,8 @@ class LocaltimeTests(unittest.TestCase):

@unittest.skipUnless("Europe/Kyiv" in zoneinfo.available_timezones(),
"Can't find a Kyiv timezone database")
+ @unittest.skipIf(sys.platform.startswith("sunos"),
+ "The Kyiv database on SunOS puts 1984 in EET")
@test.support.run_with_tz('Europe/Kyiv')
def test_variable_tzname(self):
t0 = datetime.datetime(1984, 1, 1, tzinfo=datetime.timezone.utc)
12 changes: 6 additions & 6 deletions build/python311/patches/test-filecomments.patch
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ Support comments in the test ignore file (see ../files/test.exclude)
diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/test/libregrtest/cmdline.py a/Lib/test/libregrtest/cmdline.py
--- a~/Lib/test/libregrtest/cmdline.py 1970-01-01 00:00:00
+++ a/Lib/test/libregrtest/cmdline.py 1970-01-01 00:00:00
@@ -438,6 +438,7 @@ def _parse_args(args, **kwargs):
ns.ignore_tests = []
with open(ns.ignore_filename) as fp:
@@ -193,6 +193,7 @@ class FromFileFilterAction(argparse.Acti
items = getattr(namespace, self.dest)
with open(value, encoding='utf-8') as fp:
for line in fp:
+ if line.startswith('#'): continue
ns.ignore_tests.append(line.strip())
if ns.forever:
# --forever implies --failfast
items.append((line.strip(), self.const))


14 changes: 1 addition & 13 deletions build/python311/patches/test-freeze.patch
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
This patch:

- updates the test to run GNU make;
- Prevents running "make clean" in the copy of the source tree as that removes
the platform-specific sysconfig module, breaking the built python which is
in newroot.
- Strips all configure arguments of the form `--XXXdir=YYY` from the configure
lines used to build the new perl tree, since these override the temporary
--prefix being used for the test.
Expand All @@ -21,16 +18,7 @@ diff -wpruN --no-dereference '--exclude=*.orig' a~/Tools/freeze/test/freeze.py a
FREEZE = os.path.join(TOOL_ROOT, 'freeze.py')
OUTDIR = os.path.join(TESTS_DIR, 'outdir')

@@ -90,8 +90,6 @@ def copy_source_tree(newroot, oldroot):
shutil.rmtree(newroot)

shutil.copytree(oldroot, newroot, ignore=support.copy_python_src_ignore)
- if os.path.exists(os.path.join(newroot, 'Makefile')):
- _run_quiet([MAKE, 'clean'], newroot)


##################################
@@ -122,6 +120,7 @@ def prepare(script=None, outdir=None):
@@ -129,6 +129,7 @@ def prepare(script=None, outdir=None):
print(f'configuring python in {builddir}...')
config_args = shlex.split(sysconfig.get_config_var('CONFIG_ARGS') or '')
cmd = [os.path.join(srcdir, 'configure'), *config_args]
Expand Down
16 changes: 8 additions & 8 deletions build/python311/patches/test-processgroup.patch
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ Running some sub-tests in process groups causes tests to hang - the reason it
not yet known.
Disable the use of process groups for now.

diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/test/libregrtest/runtest_mp.py a/Lib/test/libregrtest/runtest_mp.py
--- a~/Lib/test/libregrtest/runtest_mp.py 1970-01-01 00:00:00
+++ a/Lib/test/libregrtest/runtest_mp.py 1970-01-01 00:00:00
@@ -41,7 +41,8 @@ assert MAIN_PROCESS_TIMEOUT >= PROGRESS_
# Time to wait until a worker completes: should be immediate
JOIN_TIMEOUT = 30.0 # seconds
diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/test/libregrtest/worker.py a/Lib/test/libregrtest/worker.py
--- a~/Lib/test/libregrtest/worker.py 1970-01-01 00:00:00
+++ a/Lib/test/libregrtest/worker.py 1970-01-01 00:00:00
@@ -14,7 +14,8 @@ from .utils import (
get_temp_dir, get_work_dir, exit_timeout)


-USE_PROCESS_GROUP = (hasattr(os, "setsid") and hasattr(os, "killpg"))
+USE_PROCESS_GROUP = (hasattr(os, "setsid") and hasattr(os, "killpg")
+ and not sys.platform.startswith("sunos"))
+ and not sys.platform.startswith("sunos"))


def must_stop(result: TestResult, ns: Namespace) -> bool:
def create_worker_process(runtests: WorkerRunTests, output_fd: int,
38 changes: 38 additions & 0 deletions build/python311/patches/test-termios.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/test/test_termios.py a/Lib/test/test_termios.py
--- a~/Lib/test/test_termios.py 1970-01-01 00:00:00
+++ a/Lib/test/test_termios.py 1970-01-01 00:00:00
@@ -152,6 +152,8 @@ class TestFunctions(unittest.TestCase):
self.assertRaises(TypeError, termios.tcflow, object(), termios.TCOON)
self.assertRaises(TypeError, termios.tcflow, self.fd)

+ @unittest.skipIf(sys.platform.startswith("sunos"),
+ "TIOCGWINSZ returns EINVAL for terminals with no size")
def test_tcgetwinsize(self):
size = termios.tcgetwinsize(self.fd)
self.assertIsInstance(size, tuple)
@@ -160,6 +162,8 @@ class TestFunctions(unittest.TestCase):
self.assertIsInstance(size[1], int)
self.assertEqual(termios.tcgetwinsize(self.stream), size)

+ @unittest.skipIf(sys.platform.startswith("sunos"),
+ "TIOCGWINSZ returns EINVAL for terminals with no size")
def test_tcgetwinsize_errors(self):
self.assertRaisesTermiosError(errno.ENOTTY, termios.tcgetwinsize, self.bad_fd)
self.assertRaises(ValueError, termios.tcgetwinsize, -1)
@@ -167,12 +171,16 @@ class TestFunctions(unittest.TestCase):
self.assertRaises(TypeError, termios.tcgetwinsize, object())
self.assertRaises(TypeError, termios.tcgetwinsize)

+ @unittest.skipIf(sys.platform.startswith("sunos"),
+ "TIOCGWINSZ returns EINVAL for terminals with no size")
def test_tcsetwinsize(self):
size = termios.tcgetwinsize(self.fd)
termios.tcsetwinsize(self.fd, size)
termios.tcsetwinsize(self.fd, list(size))
termios.tcsetwinsize(self.stream, size)

+ @unittest.skipIf(sys.platform.startswith("sunos"),
+ "TIOCGWINSZ returns EINVAL for terminals with no size")
def test_tcsetwinsize_errors(self):
size = termios.tcgetwinsize(self.fd)
self.assertRaises(TypeError, termios.tcsetwinsize, self.fd, size[:-1])
30 changes: 0 additions & 30 deletions build/python311/patches/test-vmlimit.patch

This file was deleted.

31 changes: 19 additions & 12 deletions build/python311/testsuite.log
Original file line number Diff line number Diff line change
@@ -1,18 +1,25 @@
448 tests OK.
== Tests result: FAILURE ==

22 tests skipped:
test.test_asyncio.test_windows_events
test.test_asyncio.test_windows_utils test.test_gdb.test_backtrace
test.test_gdb.test_cfunction test.test_gdb.test_cfunction_full
test.test_gdb.test_misc test.test_gdb.test_pretty_print
test_dbm_gnu test_epoll test_idle test_kqueue test_launcher
test_msilib test_startfile test_tcl test_tix test_tk
test_ttk_guionly test_ttk_textonly test_turtle test_winconsoleio
test_winreg

8 tests skipped (resource denied):
test_ossaudiodev test_smtpnet test_socketserver test_urllib2net
test_urllibnet test_winsound test_xmlrpc_net test_zipfile64

4 tests failed:
test_compileall test_dtrace test_import test_importlib

26 tests skipped:
test.test_asyncio.test_windows_events
test.test_asyncio.test_windows_utils test_dbm_gnu test_epoll
test_gdb test_idle test_kqueue test_launcher test_msilib
test_ossaudiodev test_smtpnet test_socketserver test_startfile
test_tcl test_tix test_tk test_ttk_guionly test_ttk_textonly
test_turtle test_urllib2net test_urllibnet test_winconsoleio
test_winreg test_winsound test_xmlrpc_net test_zipfile64
450 tests OK.

Total tests: run=39,619 failures=26 skipped=1,402
Total test files: success=448 failed=4 skipped=26 resource_denied=8
Total tests: run=39,761 (filtered) failures=26 skipped=1,408
Total test files: run=476/484 (filtered) failed=4 skipped=22 resource_denied=8
Result: FAILURE
make: *** [Makefile:1814: test] Error 2
make: *** [Makefile:1815: test] Error 2
2 changes: 1 addition & 1 deletion doc/packages.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
| runtime/perl | 5.38.2 | https://www.cpan.org/src/README.html
| runtime/python-39 | 3.9.18 | https://www.python.org/downloads/source/
| runtime/python-310 | 3.10.13 | https://www.python.org/downloads/source/
| runtime/python-311 | 3.11.6 | https://www.python.org/downloads/source/
| runtime/python-311 | 3.11.7 | https://www.python.org/downloads/source/
| security/sudo | 1.9.15p2 | https://www.sudo.ws/
| service/network/chrony | 4.4 | https://download.tuxfamily.org/chrony/
| service/network/ntpsec | 1.2.2 | https://github.com/ntpsec/ntpsec/tags https://blog.ntpsec.org/
Expand Down
Loading