classification
Title: test_uuid.py and test_ssl.py failure on OSes without os.fork (VxWorks RTOS)
Type: behavior Stage: resolved
Components: Tests Versions: Python 3.10
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: pxinwr, terry.reedy, vstinner
Priority: normal Keywords: patch

Created on 2020-07-30 06:06 by pxinwr, last changed 2020-12-08 23:22 by vstinner. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 21684 merged pxinwr, 2020-07-30 06:17
Messages (6)
msg374599 - (view) Author: Peixing Xin (pxinwr) * Date: 2020-07-30 06:06
Some operating systems, for example VxWorks RTOS, don't support fork(). Some test cases that depend on os.fork() will fail. 
test_ssl.BasicSocketTests.test_random_fork and test_uuid.TestUUIDWithExtModule.testIssue8621 fail are this case.
msg374689 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2020-08-02 19:28
Are this and similar issues theoretical ("if Python were implemented on such systems...") or actual ("python is implemented on one such system (VxWorks?) and these tests fail").  If the latter, does the test suite pass at least with respect to, in this case, os.fork?  I expect that there are other tests that depend on os.fork, but maybe they are already guarded.
msg374690 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2020-08-02 19:41
Similar issues:
#41440 os.cpu_count
#41442 unix shell
#41443 some posix.x functions

PR 21684 is fine as far as it goes, and I could merge and backport, but I don't know about our test policy with respect to need and minimized OSes.  We do not put conditions for unsupported oses in production code, but I don't know about skips for such systems in tests.

Victor, do you know, or know who would?
msg374789 - (view) Author: Peixing Xin (pxinwr) * Date: 2020-08-04 03:15
Terry, VxWorks has not been officially supported by community. Certainly no builtbot for VxWorks connected yet. I am porting cpython onto VxWorks RTOS now. Several issues you listed are the part of my porting effort. So I think we don't need to backport the fix to previous versions.
msg382774 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-12-08 23:20
New changeset 98a54171932584883cb3973f78dd30f92d7a3a78 by pxinwr in branch 'master':
bpo-41439: Skip test_ssl and test_uuid tests if fork() is not supported (GH-21684)
https://github.com/python/cpython/commit/98a54171932584883cb3973f78dd30f92d7a3a78
msg382775 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-12-08 23:22
Thanks Peixing Xin, I merged your fix.

Terry:
> I could merge and backport

I don't think that it's worth it to backport to 3.9: Python 3.9 doesn't support VxWorks. I prefer to only merge VxWorks changes in the master branch.

Terry:
> We do not put conditions for unsupported oses in production code, but I don't know about skips for such systems in tests.

The final change is not specific to VxWorks and so reasonable.
History
Date User Action Args
2020-12-08 23:22:46vstinnersetstatus: open -> closed
resolution: fixed
messages: + msg382775

stage: patch review -> resolved
2020-12-08 23:20:22vstinnersetnosy: + vstinner
messages: + msg382774
2020-08-04 16:03:36vstinnersetnosy: - vstinner
2020-08-04 03:15:04pxinwrsetmessages: + msg374789
2020-08-03 23:01:30vstinnersettitle: test_uuid.py and test_ssl.py failure on OSes without os.fork -> test_uuid.py and test_ssl.py failure on OSes without os.fork (VxWorks RTOS)
2020-08-02 19:41:20terry.reedysetnosy: + vstinner

messages: + msg374690
title: test_uuid.py and test_ssl.py failures on OS without os.fork -> test_uuid.py and test_ssl.py failure on OSes without os.fork
2020-08-02 19:28:45terry.reedysetnosy: + terry.reedy
messages: + msg374689
2020-08-02 19:17:12terry.reedysettitle: some test cases in test_uuid.py and test_ssl.py fail on some operating systems because of no os.fork support -> test_uuid.py and test_ssl.py failures on OS without os.fork
2020-07-30 06:17:52pxinwrsetkeywords: + patch
stage: patch review
pull_requests: + pull_request20827
2020-07-30 06:06:45pxinwrcreate