-
Notifications
You must be signed in to change notification settings - Fork 634
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
[DNM] [WIP] run tests in separate threads #15189
base: master
Are you sure you want to change the base?
Conversation
UI Smoke TestsTest: success. 2 passed, 0 failed. |
return new IsolatedTestCommand(command); | ||
} | ||
} | ||
|
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.
this is the main code change
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.
Are those threads reused in this context?
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.
No. Each thread will be disposed after it is used
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.
Ugh, looks like there is cross thread access to the UI, probably some static UI resources or something similar…
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.
there are lots of static events and static singletons now. It's good for all of us to keep in mind that even if we don't intend to create multiple instances of a type in a shipped product we might need to do so during testing.
In this PR:
With this PR I am trying to ensure that no async tasks will bleed from one test to another, because test will now run on separate threads. Tests are still synchronous (i.e not parallel) but on separate threads where we can better isolate tasks from one another.
Problem:
Async tasks are still bleeding from on test to another. I was not able to catch or interrupt tasks that are not started in the currently executing test.
Ex: