-
Notifications
You must be signed in to change notification settings - Fork 481
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
Bump to Python 3.9 attempt 2. #3623
Conversation
Putting this in draft status, pending fix for some (probably) unrelated test failures: |
@moodyjon I'm really excited about your work on this! Really looking forward to be able to upgrade to 3.9. I will review all of this as soon as you get all of the tests passing and give me a heads up. |
…tasks() wait for file_output_task completion. This fixes a problem with test_download_stop_resume_delete.
…ficant functional change here is in upload_to_reflector(). Unit tests in TestReflector were failing. Deal with lint related to CancelledError cleanup.
control order of events in test. While file_manager is stopped, we get no response to file_list().
…eue, asyncio.sleep.
…bjects to asyncio.wait() is deprecated since Python 3.8.
I have synced up to head-of-line, and am running tests to asses where the next pain point is in the tests. Most of this is going on in moodyjon/lbry-sdk actions using the manual trigger. As test_setting_stream_fields against (go) herald has been disabled, that is no longer a deterministic failure. |
Out of 20 runs, I got 5 failures.
I think I've seen the SIGSEGV before in other workspaces. Any insight into whether Python code can do this? or could it be the coverage tool combined with some feature of the code? |
Closing in favor of #3711 |
Based on work by @eukreign in branch py39.
I am still not sure what issues in the tests are truly due to Python upgrade vs. pre-existing timing issues. I have some hacks in there adding asyncio.sleep().
Other risky areas are related to Python 3.8 changing the base class of asyncio.CancelledError from Exception to BaseException. I fixed some places that assumed the old base class, but there may be more. See 8bb7805 and 528a37a
I am excited about upgrading to 3.9 because it lets me run more things natively on MacOS arm64.
Change a369228 should be temporary, and lets me repeat tests manually to assess reliability.