The single mark is supposed to be for mark a test as single cpu only
If I am interpreting the purpose correctly, these tests should be run with pytest -n 1
. Though in our CI, I see PYTEST_WORKERS
as either "auto"
or 2
Github actions runners seem multi core: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources Same with azure runners: https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml#hardware
So is it correct that we aren't running these single tests as intended?
cc @lithomas1
Comment From: lithomas1
This is not that hard to do. I think we can add "not single" to the -k argument when running the tests and then run pytest -k "single" -n 1
or something afterwards.
I don't understand why these are single core only though and I'm pretty sure the tests are actually still being run in the regular CI.
Comment From: mroeschke
Right, I think these tests are still being run, but maybe the intention is that @pytest.mark.single
tests should be run on a single core to avoid flakiness when running with multiple cores?
Comment From: mroeschke
This was fixed
Comment From: jbrockmendel
There are a couple of # TODO(GH#44584): Mark these as pytest.mark.single_cpu
in the code. since this is closed, can these be addressed?
Comment From: mroeschke
Yeah I bet those tests can be marked as single_cpu
now