-
Notifications
You must be signed in to change notification settings - Fork 16
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
Fix passing coroutine objects to wait()
#24
Conversation
Very interesting, I'll test this branch with faust-streaming before merging, assuming all test cases above pass for all other versions of Python. |
@wbarnha Maybe we should stop actions? Something blocked, it already runs 3hrs more. I'm afraid to consume all free time. |
I see. I removed |
@wbarnha Hey, you could review now, I have fixed all tests with new standard library modules. |
@wbarnha Currently, it fits all versions after Python 3.8. Python 3.7 is lack of test suites |
That's incredible! Fantastic work @lqhuang! I'll see if I can add compatibility for 3.7+3.8, or we could just drop support for those versions. |
Actually, the incompatibility for both Py3.7 and Py3.8 happens in test codebase. Py3.8 is caused by the nested |
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.
Thank you so much! LGTM!
Also, thank you for your efforts in review work! |
Regarding commit 14ca981, I think we need to bring the mocks back because they had specific logic that was hardcoded for faust-streaming unittests... |
I definitely understand. Sure, you could bring them back, but the key problem is this module also will make |
Yeah, I'm starting to remember why you removed the mocks. Upgrading the test cases for Faust will take a while. |
I also read codes from |
I've observed the same thing! I'll keep trying to go through the unit tests. I've made some progress but there are some quirks I still need to clear up. |
Note: Before submitting this pull request, please review our contributing
guidelines.
Description
Due to break change introduced in Python 3.11,
wait()
only accept scheduled tasks.In services.py line 794 of current master, two coroutines are passed into
wait()
function. So the program exits.This PR fixes #19.
This patch is enough to let
mode
successfully run under Python 3.11 except passing all test cases. Current tests ofmode
rely on its self definedAsyncMock
which is already not working under py3.11,so there are still a lot of hard work to rewrite test cases to make everything looks good.