Closed mtelka closed 1 year ago
I wonder if the original test suite ever passed on OpenIndiana as asyncore
was vendored from Python when they dropped support for it.
All tests pass with both Python 3.7 and 3.9 when I replace Operation not permitted
by Not owner
in test_wasyncore.py
(see https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/python/waitress/patches/02-test_gardenpath.patch)
@mtelka sure, I get that changing the test works.
My question is how did the Python 3.5 test suite pass on OpenIndiana? wasyncore is directly vendoring asyncore as it was shipped with Python 3.5 including all tests.
I'm not sure I fully understand your question because both Python-3.5.10/Lib/test/test_asyncore.py
and waitress-2.1.2/tests/test_wasyncore.py
files differs significantly. For example, there is no class Test__strerror
in Python-3.5.10/Lib/test/test_asyncore.py
.
I thought that when it was vendored it was from the 3.5 branch of Python, I wonder where @mcdonc stole it from instead. I can add a patch, unfortunately I don't have a machine to test on and it won't be tested in CI either, so there may be other regressions.
Looks like @mcdonc made that test up as the original code is not tested in cpython. I'm changing the test a little bit which should help make it pass on all platforms.
The
test_gardenpath
test fails on OpenIndiana because the string returned fromstrerror()
is implementation specific.Simple test case in C:
On linux it prints:
Operation not permitted
, but on OpenIndiana (and thus on all illumos based distros, and likely Solaris too) it prints:Not owner
.Here is the test failure: