Closed
Description
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.
See https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/.E2.9C.94.20CI-only.20failure.20in.20new.20test/near/477973621 for some discussions.
Metadata
Metadata
Assignees
Labels
Area: The compiletest test runnerArea: Documentation for any part of the project, including the compiler, standard library, and toolsCategory: Discussion or questions that doesn't represent real issues.Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the compiler team, which will review and decide on the PR/issue.
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
Zalathar commentedon Oct 21, 2024
For archaeological reference,
--pass
and//@ ignore-pass
appear 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-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?4 remaining items