-
Notifications
You must be signed in to change notification settings - Fork 5k
[TEST] Enable runtime async tests #115947
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: main
Are you sure you want to change the base?
Conversation
Tagging subscribers to this area: @mangod9 |
/azp run runtime-coreclr gcstress-extra, runtime-coreclr gcstress0x3-gcstress0xc |
Azure Pipelines successfully started running 2 pipeline(s). |
ae77ce8
to
963585e
Compare
browser-wasm seems to be trying to run runtime async tests and fails. |
src/tests/issues.targets excludes |
Or could it be that the
|
@lewing @pavelsavara - who could help with figuring what is going on with wasm + async ? |
What IL does the compiler generate for an async main here? For wasm we can't call the regular compiler generated entrypoint because we need to access the Task directly so I'm guessing the logic we use to detect the wrapper and then look up Main is failing now. |
The way this should work is that there is an experimental C# compiler that is used to compile tests under The new IL for async/await would make sense only for a runtime that understands runtime async. I.E. - C# We only have support for that in ordinary JIT-based coreclr (and even that is disabled in regular builds), thus I am trying to exclude |
Generally, async methods are emitted for runtime async as-in-source, since the actual state machine is done by the JIT. A few corner cases as await in exception handlers require some changes. I do not think the C# compiler that we use can do that yet, so we can assume "as in the source". Runtime async methods have the same signature in IL as well - i.e, if the signature has Task as return type in source then IL signature has Task as return type as well. Runtime async methods are marked with Ideally nothing under |
I did not realize that excluding tests in src/tests/issues.targets may still make them to build and run. I think I can try adding Let me try that. |
85fdadd
to
e95569a
Compare
Looks like it worked. wasm leg passed. Thanks @lewing |
The only failure now is the artificial Otherwise, the PR that enables both the runtime async feature and tests for it (and all preexisting tests too) is green - on all platforms that we currently support. |
/azp run runtime-coreclr gcstress-extra, runtime-coreclr gcstress0x3-gcstress0xc |
Azure Pipelines successfully started running 2 pipeline(s). |
Just to run async tests.
I want to figure the set of changes that would make the PR green.