compiletest: Remove empty 'expected' files when blessing by clubby789 · Pull Request #134808 · rust-lang/rust (original) (raw)

GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request

Jan 27, 2025

@GuillaumeGomez

…ui-tests, r=compiler-errors

Clean up all dead files inside tests/ui/

While rebasing rust-lang#135860 I noticed that there are several dead *.stderr files inside tests/ui/.

When I checked thoroughly, I found 69 dead *.$revision.stderr files, 3 other dead *.stderr files and one dead *.rs file.

Prior to rust-lang#134808, compiletest's --bless didn't remove dead *.stderr files when the set of revisions changed in any way (renamings, removals, additions, …) which explains their existence.

Regarding the dead *.rs file, that one was located inside an auxiliary/ directory (together with a *.stderr file) despite not being meant to be an auxiliary file (it's not referenced by any //@ aux-*, it has an accompanying *.stderr file and it's obvious from looking at rust-lang#111056 which added it). Ideally compiletest or tidy would forbid *.std{out,err} files inside auxiliary/ dirs, that would've caught it. I moved it, updated it and turned it into a proper UI test.


How to reproduce:

  1. Run rm tests/ui/**/*.stderr
  2. Run ./x test tests/ui --bless (or similar)
  3. Manually / semi-automatically go through all tests that were ignored (likely due to your OS etc. not matching) and restore any stderr files that were overzealously removed

r? compiler