Introduce and use specialized //@ ignore-auxiliary for test support files instead of using //@ ignore-test by jieyouxu · Pull Request #139967 · rust-lang/rust (original) (raw)

Summary

Add a semantically meaningful directive for ignoring test auxiliary files. This is for auxiliary files that participate in actual tests but should not be built by compiletest (i.e. these files are involved through mod xxx; or include!() or #[path = "xxx"], etc.).

Motivation

A specialized directive like //@ ignore-auxiliary makes it way easier to audit disabled tests via //@ ignore-test.

Follow-up to:

See also discussions in:

Remarks on remaining unconditionally disabled tests under tests/

After this PR, against commit 79a272c, only 14 remaining test files are disabled through //@ ignore-test:

Remaining `//@ ignore-test` files under `tests/`

tests/debuginfo/drop-locations.rs
4://@ ignore-test (broken, see #128971)

tests/rustdoc/macro-document-private-duplicate.rs
1://@ ignore-test (fails spuriously, see issue #89228)

tests/rustdoc/inline_cross/assoc-const-equality.rs
3://@ ignore-test (FIXME: #125092)

tests/ui/match/issue-27021.rs
7://@ ignore-test (#54987)

tests/ui/match/issue-26996.rs
7://@ ignore-test (#54987)

tests/ui/issues/issue-49298.rs
9://@ ignore-test (#54987)

tests/ui/issues/issue-59756.rs
2://@ ignore-test (rustfix needs multiple suggestions)

tests/ui/precondition-checks/write.rs
5://@ ignore-test (unimplemented)

tests/ui/precondition-checks/read.rs
5://@ ignore-test (unimplemented)

tests/ui/precondition-checks/write_bytes.rs
5://@ ignore-test (unimplemented)

tests/ui/explicit-tail-calls/drop-order.rs
2://@ ignore-test: tail calls are not implemented in rustc_codegen_ssa yet, so this causes 🧊

tests/ui/panics/panic-short-backtrace-windows-x86_64.rs
3://@ ignore-test (#92000)

tests/ui/json/json-bom-plus-crlf-multifile-aux.rs
3://@ ignore-test Not a test. Used by other tests

tests/ui/traits/next-solver/object-soundness-requires-generalization.rs
2://@ ignore-test (see #114196)

Of these, most are either unimplemented, or spurious, or known-broken. The outstanding one is tests/ui/json/json-bom-plus-crlf-multifile-aux.rs which I did not want to touch in this PR -- that aux file has load-bearing BOM and carriage returns and byte offset matters. I think those test files that require special encoding / BOM probably are better off as run-make tests. See #139968 for that aux file.

Review advice

r? compiler