Disable running tests System.Collections.NonGeneric tests in parallel.#559
Disable running tests System.Collections.NonGeneric tests in parallel.#559dsplaisted wants to merge 1 commit intodotnet:masterfrom
Conversation
These tests were hanging on one of my machines, apparently because there were not enough threads in thread pool. Multiple tests were queuing up a bunch of tasks and then waiting on all of them at the same time. This resulted in all of the threadpool threads waiting for the tasks to be completed with no threads left over to actually make progress on the tasks.
|
Hi @dsplaisted, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution! TTYL, DNFBOT; |
|
Please file an issue to enable it back once the tests are fixed. If there is only single (or few) test failing please use [ActiveIssue(issue number)] attribute to disable it |
|
@dsplaisted, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR. |
|
@krwq I'm not sure that there's anything that needs to be fixed about the tests. The relevant tests in my case were Queue_get_SyncRoot and Queue_Synchronized. Each of them requires at least 2 threads in the threadpool to run. On a machine with only 4 threads in the threadpool, that means they can't be run in parallel together with the xUnit threads. Do you think these tests need to be updated to work in a different way? Or will the fix that @stephentoub submitted to xUnit fix this? |
|
The xunit change should address this, but even so it's good to update our tests as well. I've submitted a PR for that: .#563 |
|
Thanks @stephentoub. I assume this can be closed and is superseded by #563? |
|
@nguerrera @dsplaisted yes I'm closing this PR as #563 is the better fail to fix this. |
These tests were hanging on one of my machines, apparently because there were not enough threads in thread pool. Multiple tests were queuing up a bunch of tasks and then waiting on all of them at the same time. This resulted in all of the threadpool threads waiting for the tasks to be completed with no threads left over to actually make progress on the tasks.