-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Fix test_async and test_stdio_handling #1319
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cd87c81
to
1777114
Compare
Looking forward to looking at this, but will defer until after #1318 is resolved. |
Resolves pyscript#1313 and pyscript#1314. On top of pyscript#1318. The point of these tests is to define the execution order of Tasks that are scheduled in <py-script> tags: first all the py-script tags are executed and their related lifecycle events. Once all of this is done, we schedule any enqueued tasks. To delay the execution of these tasks, we use a custom event loop for pyExec with this defer behavior. Until `start_` is called, our custom loop just stores the tasks. When `start_` is called, all deferred tasks are scheduled and any later tasks are also scheduled immediately. This deferment should only apply to user logic, so we set the custom event loop in a context manager around the user calls and restore the original event loop when we're done.
for more information, see https://pre-commit.ci
FabioRosado
approved these changes
Mar 30, 2023
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.
Added some questions but looks good 😄
Thanks for the review @FabioRosado! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #1313. Resolves #1314. On top of #1318.
The point of these tests is to define the execution order of Tasks
that are scheduled in tags: first all the py-script tags
are executed and their related lifecycle events. Once all of this
is done, we schedule any enqueued tasks.
To delay the execution of these tasks, we use a custom event loop for
pyExec with this defer behavior. Until
start_
is called, our custom loopjust stores the tasks. When
start_
is called, all deferred tasks arescheduled and any later tasks are also scheduled immediately.
This deferment should only apply to user logic, so we set the custom event
loop in a context manager around the user calls and restore the original
event loop when we're done.