You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
compiletest: what does --pass (pass mode) actually intend to do? #131990
Apparently compiletest has a --pass flag which allows setting "pass mode" but it's unclear what that is intended to do. AFAIK, many tests don't account for this at all, and //@ ignore-pass is apparently a directive which is used liberally. CI doesn't seem to have fanatastic coverage for --pass configurations either. It might also be a specific thing for a subset of test suites. And also, how does the current implementation compare to the intended behavior / use case.
That PR itself is builtin upon #61778.
EDIT: ah, I found important context:
#61755 will provide a way to run the tests with any mode, e.g. bump check-pass tests to run-pass to satisfy especially suspicious people, and be able to make sure that codegen doesn't breaks in some entirely unexpected way.
TL;DR: pass mode seems to be a mechanism to allow someone to forcefully modify how deep into the compilation or test running pipeline (check vs build vs run) the tests will be evaluated at. //@ ignore-pass is the opt-out, and this seems to be used as an escape hatch because PR CI I think uses --pass=check to force downgrade some ui tests to run them at a lower test running pipeline to save CI time?
In practice, I think --pass=check is the only mode override used. If you are not doing codegen work, it makes the ui tests much faster. (At least, that's how I documented it.) I'm not sure how useful the other modes are.
Activity
Zalathar commentedon Oct 21, 2024
For archaeological reference,
--passand//@ ignore-passappear to have been added in #61755.There also appears to be some motivation briefly mentioned in the associated #61778.
jieyouxu commentedon Oct 21, 2024
That PR itself is builtin upon #61778.
EDIT: ah, I found important context:
Also in #61755:
jieyouxu commentedon Oct 21, 2024
TL;DR: pass mode seems to be a mechanism to allow someone to forcefully modify how deep into the compilation or test running pipeline (check vs build vs run) the tests will be evaluated at.
//@ ignore-passis the opt-out, and this seems to be used as an escape hatch because PR CI I think uses--pass=checkto force downgrade some ui tests to run them at a lower test running pipeline to save CI time?ehuss commentedon Oct 21, 2024
In practice, I think
--pass=checkis the only mode override used. If you are not doing codegen work, it makes the ui tests much faster. (At least, that's how I documented it.) I'm not sure how useful the other modes are.