homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Multiple test failures on Alpine 3.15 / musl-1.2.2-r7
Type: behavior Stage:
Components: Build, Tests Versions: Python 3.11
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: brett.cannon, christian.heimes, ncopa, terry.reedy, zach.ware
Priority: normal Keywords:

Created on 2022年01月15日 12:56 by christian.heimes, last changed 2022年04月11日 14:59 by admin.

Files
File name Uploaded Description Edit
alpine315-tests.txt christian.heimes, 2022年01月17日 12:12
Messages (7)
msg410645 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2022年01月15日 12:56
I'm getting multiple test failures with latest Alpine 3.15 and musl-1.2.2-r7. Some test failures may be caused by wrong assumptions in our tests, some might be bugs in musl lib.c
9 tests failed:
 test__locale test_c_locale_coercion test_cmd_line test_gdb
 test_locale test_os test_posix test_re test_selectors
I have attached the output of
./python -m test -v test__locale test_c_locale_coercion test_cmd_line test_gdb test_locale test_os test_posix test_re test_selectors 2>&1 | tee alpine315-tests.txt
You can use my container to reproduce the test failures:
$ podman run --privileged -ti --rm -v $(pwd):/cpython:Z quay.io/tiran/cpythonbuild:alpine-3.15 /bin/sh
# /cmd.sh
# cd /cpython/builddep/alpine-3.15-x86_64/
# make test
msg410848 - (view) Author: Kumar Aditya (kumaraditya) * (Python triager) Date: 2022年01月18日 08:44
These tests seems to be expected to fail on alpine.
See https://github.com/alpinelinux/aports/blob/b36ed9bba2fdbf49a98dfdc3377c29271525082f/main/python3/APKBUILD#L123 
msg410849 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2022年01月18日 08:49
I would put it differently: The package maintainer of Python on Alpine decided to ignore all test failures in these test modules.
msg411187 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2022年01月21日 21:21
The first alpine315-tests.txt appears to be a truncated version of the second. Were you expecting the first to be automatically replaced? Should it be unlinked?
https://www.alpinelinux.org "Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox." Fron the doc linked above:
# Maintainer: Natanael Copa <ncopa@alpinelinux.org> ## I nosied Natanael at his CLA-signed Alpine id.
# Contributor: Sheila Aman <sheila@vulpine.house>
...
	# musl related
	fail="test__locale test_locale test_strptime test_re"	# various musl locale deficiencies
	fail="$fail test_c_locale_coercion"
	fail="$fail test_datetime"				# hangs if 'tzdata' installed
	fail="$fail test_os"					# fpathconf, ttyname errno values
	fail="$fail test_posix"					# sched_[gs]etscheduler not impl
	fail="$fail test_shutil"				# lchmod, requires real unzip
Should we change CPython tests to accommodate things that are missing (versus buggy). Should the tests requiring sched_[gs]etscheduler be skipped if missing? Or are they required to be 'posix' and is test_posix meant to test completeness as well as correctness of what is present?
msg411191 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2022年01月21日 21:50
In my opinion we should treat these issues as Alpine / musl libc platform bugs and ask the Alpine maintainers to look into the issue. The tests are passing on Linux with glibc and BSD platforms (FreeBSD, macOS, ...) with BSD libc. It is reasonable to assume that failing test are caused by incompatibilities or deficiencies in musl libc, or by a different interpretation of POSIX and Open Group standards.
I would not ignore or skip any test unless we have a thorough understanding of the problem and the deviation is documented. The issue can also affect user code.
Python's test suite is exhaustive. Our tests have found a fair amount of problems in e.g, libm. A couple of years ago ine of my AF_ALG socket tests even found a Kernel bug by triggered a Kernel fault.
msg411193 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2022年01月21日 21:56
The comment about sched_[gs]etscheduler seems to be outdated. For one CPython's test suite has a @requires_sched decorator that performs a check for sched_getscheduler and the Kernel syscall. musl libc in Alpine 3.13 and 3.15 have sched_setscheduler.
msg411905 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2022年01月27日 17:45
BTW, we do have an Alpine buildbot worker in the unstable set, running only on the `main` branch: https://buildbot.python.org/all/#/workers/19 
History
Date User Action Args
2022年04月11日 14:59:54adminsetgithub: 90548
2022年03月31日 17:55:03brett.cannonsetnosy: + brett.cannon
2022年01月27日 17:45:12zach.waresetnosy: + zach.ware
messages: + msg411905
2022年01月21日 21:56:05christian.heimessetmessages: + msg411193
2022年01月21日 21:50:53christian.heimessetmessages: + msg411191
2022年01月21日 21:33:26christian.heimessetfiles: - alpine315-tests.txt
2022年01月21日 21:21:42terry.reedysetnosy: + ncopa, terry.reedy
messages: + msg411187
2022年01月18日 11:21:35kumaradityasetnosy: - kumaraditya
2022年01月18日 08:49:10christian.heimessetmessages: + msg410849
2022年01月18日 08:44:14kumaradityasetnosy: + kumaraditya
messages: + msg410848
2022年01月17日 12:12:11christian.heimessetfiles: + alpine315-tests.txt
2022年01月15日 13:36:42christian.heimeslinkissue40280 dependencies
2022年01月15日 13:21:04christian.heimeslinkissue43112 dependencies
2022年01月15日 12:56:24christian.heimescreate

AltStyle によって変換されたページ (->オリジナル) /