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
Better test disabling system #118133
Comments
Btw, this is probably the number one pain point for working with torch.compile tests today:
A better test disabling system would help by:
|
FYI, under the hood test disabling system via issues reads https://github.com/pytorch/test-infra/blob/generated-stats/stats/disabled-tests-condensed.json, but we probably want to extend it to support wildcards of sorts, as adding 10K entires there is bad |
Proposal:
Example use case: enabling Dynamo for Python 3.12. Using the above scheme, we would create the Dynamo-py312 test configuration and then mark it as "new". CI would disable any failing tests and then move it to stable. After this, if devs fix failing tests, then CI will automatically re-enable the test. The task of "enabling Dynamo for Python 3.12" can be considered done when a sufficient number of tests are no longer disabled. |
I completely agree on this point, I feel bad to disable a test on all linux platforms. A finer granularity is needed.
The file is already on GitHub https://github.com/pytorch/test-infra/blob/generated-stats/stats/disabled-tests-condensed.json, so we have something to start with here. Sometimes, it's desirable to disable all the variants of a test though, i.e. different dtypes, which could make the total number of entries more manageable.
This is an interesting idea and it reminds me of the test quality concept. A new test could be classify as having unknown quality. A failed new test has bad quality and is disabled. Although I think we need more design discussion here because only accepting good quality tests upfront is what we have been doing till now on CI, i.e. if a new test breaks trunk, the commit would be reverted instead of accepting with the test disabled. However, I get your point here when it comes to dynamo. I believe there are already talks about building a burnout chart for the number of tests disabled on dynamo and the target to reduce them over time. cc @clee2000 as this seems relevant to the test dashboard that you re building.
Yup, this is an existing feature, disabled tests are run on CI daily and they will be re-enable if they are passing without any failures after 2 weeks. |
Some offline nuggets of wisdom from @malfet: |
Motivation
We just added a lot of failing tests (10000+) to CI. I put in a lot of work to actually skip the failing tests, so that CI is actually green. We anticipate doing this more (adding a lot of failing tests to CI) in the future:
It would be nice if we had a way to mass-disable tests per configuration (e.g. dynamo 3.11 vs dynamo 3.8), perhaps with a single issue instead of one issue per test?
cc @ZainRizvi @kit1980 @huydhn @clee2000 @pytorch/pytorch-dev-infra
The text was updated successfully, but these errors were encountered: