-
Notifications
You must be signed in to change notification settings - Fork 4.1k
THRIFT-5899: Python tests fail for the Appveyor MSVC builds #3229
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
base: master
Are you sure you want to change the base?
Conversation
- See THRIFT-5898
- PR#2929 called out that the changes breaks Python 3.5 since types came in in 3.6 - Python 3.6 errors out with 'from __future__ import annotations' since it looks like it was only added in 3.7
- Getting `raise TApplicationException(TApplicationException.MISSING_RESULT, "testEnum failed: unknown result"` error - PR#2825 state it is a breaking change, not sure why and for what version of Python
- Appveyor error: ` AttributeError: module 'ssl' has no attribute 'PROTOCOL_TLS_CLIENT'`
| CALL win_showenv.bat || EXIT /B | ||
| MKDIR "%WIN3P%" || EXIT /B | ||
|
|
||
| @ECHO ON |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we intend to leave this line in the code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will remove it.
I added it because for some reason the @ECHO ON at the top of the page got disabled and I wanted to check why the DISABLED_TESTS did not take affect. Still no idea but not needed any more
| if sys.version_info < (3, 6): | ||
| _default_protocol = ssl.PROTOCOL_SSLv23 if _has_ssl_context else \ | ||
| ssl.PROTOCOL_TLSv1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do wish appveyor can use an actual supported version of python 😞
can you link some doc explaining that on python <3.6 we can only use ssl v2/v3 over tls? (similar to the ipv6 one below but in comment form)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do wish appveyor can use an actual supported version of python 😞
Yes since there is no way to actually know if my changes now broken in newer versions of Python. The github action only test the lib and does not run the full test suite nor is python cross tested.
Would it make sense to try and add a new github action/pipeline for Windows builds to replicate what is done in Appveyor or should one look at adding a new Appveyor config? Not sure if there is a roadmap or task for something like this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you link some doc explaining that on python <3.6 we can only use ssl v2/v3 over tls? (similar to the ipv6 one below but in comment form)
I can try to add something that makes sense
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Digging a bit (and not just trying to get the build green) I am lead to believe that one would require Python 3.10 and OpenSSL 1.1.1 for the new TLS support: https://docs.python.org/3/library/ssl.html and https://docs.python.org/3.11/library/ssl.html#ssl.SSLContext
From the build output OpenSSL 1.0.2u is used.
I am not sure how to proceed here: Should I update my check to check for 3.10 instead and link to the ssl page?
|
I have just logged https://issues.apache.org/jira/browse/THRIFT-5900, will try to see if I can do something to get past it without trying to upgrade python. Don't want to now have to mix this PR with also upgrading to Python 3.14 |
Fix issues as picked up by the MSVC build
Note: The disabling of the shared lib is done due to THRIFT-5898 and should be fixed by #3226 whereby the build will be changed again
[skip ci]anywhere in the commit message to free up build resources.