-
Notifications
You must be signed in to change notification settings - Fork 792
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
Tracking parallel testing outstanding issues #18199
Comments
It is not an issue in terms of a crash, but rather an issue in (??) unrealized potential (?): Lot of the tests inside are workflows with multiple IO reads/writes as well as The number of processors is defined as 4 here: https://dev.azure.com/dnceng-public/public/_build/results?buildId=906679&view=logs&j=09cc464c-89cd-5758-006d-ba9e3958cfa9&t=098678ff-b2f3-5c88-44d3-4c7be2f47e75&l=159 Is it fully saturated and we should rather go multi-machine (which is doable, I did some experiments earlier) for this suite? |
Might be also file-locking of files that are shared across test executions. But I do not think it makes sense to investigate at individual test level - if individual tests are to be investigated & improved, they might as well be migrated to ComponentTests which would bring the benefit of running them on Linux,macOS and coreCLR on Windows, instead of just net472. (so far, only the easier ones have been migrated in various tranches) |
It seems the underlying issue affects also ComponentTests, 42 minutes: vs 13 minutes CoreClr: |
Hmm... it seems the issue is there even when comparing a single test case. I have an idea to just add |
Ok, so I just added
A rather typical test case that just compiles a snippet of code ( Warn If Discarded In List -- 01 - version46 ) measures like this:net472:
net9.0:
|
Parallel testing is now merged and gets a lot more runtime in the CI. This means some test cases that are not thread safe and were missed before may fail occasionally.
I think it would be good to have a central place to keep track of tests that we suspect are flaky because of concurrent execution. Other annoyances like testhost crashes, both locally and in the Azure pipeline, or any weird behavior are also worth reporting.
I noticed it is often more likely for a test to fail in CI and seem to pass locally. To reproduce locally I just select the whole module containing the test case and do "Run until failure" in VS Test Explorer.
Some issues noticed so far:
Internal CLR error. (0x80131506)
. This is external and reported.ProjectAnalysisTests.Test Project25 whole project errors
and other test cases usingProject25
are flaky. (Because of type provider?)Test project1 and make sure TcImports gets cleaned up
sometimes waits forever for GC.ildasm
sometimes crash on macThe text was updated successfully, but these errors were encountered: