Repository navigation
TST: always force the SETUPTOOLS_SCM version in test subprocesses - #30947
Conversation
This will reduce the number of (sub)subprocess calls we make by at least one per subprocess test. This may help reduce resource contention on CI that causes flaky tests.
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
|
Sorry, I copied this from where we set it in the pickle test and failed to completely copy-edit it. |
|
It seems reasonable, but also we're still getting timeouts? |
|
It may well be that we have different kind of timeouts. There are the windows ones which can happen across many different tests using subprocesses. And there is macos, which seems to only timeout for test_webagg. Anyway, it's reasonable to force SETUPTOOLS_SCM. |
|
We specifically still also have the windows timeouts (e.g. https://dev.azure.com/matplotlib/matplotlib/_build/results?buildId=46877&view=logs&j=f92c32cd-721a-536e-3a87-a0c010db3f7f&t=d4eecd58-7131-52e4-f793-e9e3ca32dedb), but they are much rarer since this PR was merged. So it's good to have this PR in to reduce the number of subprocesses, but it doesn't solve the root cause. |
This will reduce the number of (sub)subprocess calls we make by at least one per subprocess test. This may help reduce resource contention on CI that causes flaky tests.
PR summary
We have a number of tests that fail intermittently on windows and macOS. One theory is that we are exhausting something about the number of processes on these systems that is either freezing (or at least delaying longer than we wait) the tests run in subprocesses. Our versioning scheme will ask git for the current version (tag + distance + current SHA) so in ever subprocess we are making further subprocess calls to git. By passing the version down via ENV like this we will reduce the number of subprocess calls and hopefully reduce the pressure that is causing the failures.