Skip to content
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

compiletest: Remove empty 'expected' files when blessing #134808

Merged
merged 1 commit into from
Dec 27, 2024

Conversation

clubby789
Copy link
Contributor

@clubby789 clubby789 commented Dec 26, 2024

Fixes #134793
Fixes #134196

This also refactors compare_output to return an enum; returning a usize was done for convenience but is misleading

@rustbot
Copy link
Collaborator

rustbot commented Dec 26, 2024

r? @onur-ozkan

rustbot has assigned @onur-ozkan.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Dec 26, 2024
@rustbot
Copy link
Collaborator

rustbot commented Dec 26, 2024

Some changes occurred in src/tools/compiletest

cc @jieyouxu

@jieyouxu jieyouxu assigned jieyouxu and unassigned onur-ozkan Dec 27, 2024
Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I have some nits and a question, but otherwise LGTM.

@jieyouxu jieyouxu added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 27, 2024
@rust-cloud-vms rust-cloud-vms bot force-pushed the compiletest-remove-stderr branch 2 times, most recently from 7b35a2c to d04e480 Compare December 27, 2024 11:49
Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tiny nits, I'll do some local testing

@rust-cloud-vms rust-cloud-vms bot force-pushed the compiletest-remove-stderr branch from d04e480 to b03d3ed Compare December 27, 2024 12:01
@clubby789
Copy link
Contributor Author

Updated; some stuff got borked in rebasing

@rust-cloud-vms rust-cloud-vms bot force-pushed the compiletest-remove-stderr branch from b03d3ed to 5bb727a Compare December 27, 2024 12:12
Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on local testing:

  • Added a new ui test w/ error anno.
    • Initial no bless, failed as expected due to comparison w/ non-existent stderr failed.
    • Blessed, pass as expected.
    • Observed .stderr is present.
  • Changed test to //@ check-pass and removed error annotation.
    • Observed empty .stderr is removed.

Seems like it's working as intended. Feel free to r=me after PR CI is green, thanks!

@clubby789
Copy link
Contributor Author

@bors r=jieyouxu

@bors
Copy link
Contributor

bors commented Dec 27, 2024

📌 Commit 5bb727a has been approved by jieyouxu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 27, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 27, 2024
…iaskrgr

Rollup of 6 pull requests

Successful merges:

 - rust-lang#133663 (Add a compiler intrinsic to back `bigint_helper_methods`)
 - rust-lang#134798 (Make `ty::Error` implement all auto traits)
 - rust-lang#134808 (compiletest: Remove empty 'expected' files when blessing)
 - rust-lang#134809 (Add `--no-capture`/`--nocapture` as bootstrap arguments)
 - rust-lang#134826 (Add spastorino to users_on_vacation)
 - rust-lang#134828 (Add clubby789 back to bootstrap review rotation)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 7ba9655 into rust-lang:master Dec 27, 2024
6 checks passed
@rustbot rustbot added this to the 1.85.0 milestone Dec 27, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Dec 27, 2024
Rollup merge of rust-lang#134808 - clubby789:compiletest-remove-stderr, r=jieyouxu

compiletest: Remove empty 'expected' files when blessing

Fixes rust-lang#134793
Fixes rust-lang#134196

This also refactors `compare_output` to return an enum; returning a usize was done for convenience but is misleading
poliorcetics pushed a commit to poliorcetics/rust that referenced this pull request Dec 28, 2024
…r, r=jieyouxu

compiletest: Remove empty 'expected' files when blessing

Fixes rust-lang#134793
Fixes rust-lang#134196

This also refactors `compare_output` to return an enum; returning a usize was done for convenience but is misleading
poliorcetics pushed a commit to poliorcetics/rust that referenced this pull request Dec 28, 2024
…iaskrgr

Rollup of 6 pull requests

Successful merges:

 - rust-lang#133663 (Add a compiler intrinsic to back `bigint_helper_methods`)
 - rust-lang#134798 (Make `ty::Error` implement all auto traits)
 - rust-lang#134808 (compiletest: Remove empty 'expected' files when blessing)
 - rust-lang#134809 (Add `--no-capture`/`--nocapture` as bootstrap arguments)
 - rust-lang#134826 (Add spastorino to users_on_vacation)
 - rust-lang#134828 (Add clubby789 back to bootstrap review rotation)

r? `@ghost`
`@rustbot` modify labels: rollup
joshtriplett added a commit to joshtriplett/rust that referenced this pull request Jan 12, 2025
rust-lang#134808 made --bless remove empty
expected files. Remove some empty files that were causing noise in
unrelated `--bless` invocations.
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jan 12, 2025
Remove some empty expected files to fix blessing

rust-lang#134808 made --bless remove empty
expected files. Remove some empty files that were causing noise in
unrelated `--bless` invocations.
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jan 12, 2025
Remove some empty expected files to fix blessing

rust-lang#134808 made --bless remove empty
expected files. Remove some empty files that were causing noise in
unrelated `--bless` invocations.
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jan 13, 2025
Rollup merge of rust-lang#135401 - joshtriplett:empty-expected, r=lqd

Remove some empty expected files to fix blessing

rust-lang#134808 made --bless remove empty
expected files. Remove some empty files that were causing noise in
unrelated `--bless` invocations.
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jan 27, 2025
…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
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jan 27, 2025
Rollup merge of rust-lang#136112 - fmease:clean-up-all-dead-files-in-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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

compiletest "--bless" fails to delete stderr files compiletest: empty stderr if check-fail -> check-pass
5 participants