Skip to content

Conversation

@Zalathar
Copy link
Member

Modifying TestCx::testpaths makes it vastly harder to reason about how compiletest is using test paths, and can be avoided without much trouble by simply passing explicit source-file paths into a small number of auxiliary-aware methods.


This PR was originally based on a much larger change that split TestPaths into multiple structs and multiple TestCx fields (as seen in early revisions of #148160), but after further cleanups it turned out that very few tweaks were actually needed to avoid changes to testpaths.

r? jieyouxu

There are probably plenty of tests that will check this incidentally, but it's
convenient to have a dedicated self-test.
In particular, this eliminates the cryptic `of: &TestPaths` parameters.
This method no longer returns a `TestPaths`, so the old name is no longer
appropriate.
@rustbot
Copy link
Collaborator

rustbot commented Oct 28, 2025

Some changes occurred in src/tools/compiletest

cc @jieyouxu

@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) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 28, 2025
@Zalathar
Copy link
Member Author

Something very similar to this PR already had a number of successful try jobs at #148160 (comment).

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.

@jieyouxu
Copy link
Member

jieyouxu commented Nov 1, 2025

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Nov 1, 2025

📌 Commit 720bfff 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-review Status: Awaiting review from the assignee but also interested parties. labels Nov 1, 2025
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Nov 1, 2025
compiletest: Don't modify `testpaths` when creating aux contexts

Modifying `TestCx::testpaths` makes it vastly harder to reason about how compiletest is using test paths, and can be avoided without much trouble by simply passing explicit source-file paths into a small number of auxiliary-aware methods.

---

This PR was originally based on a much larger change that split `TestPaths` into multiple structs and multiple `TestCx` fields (as seen in early revisions of rust-lang#148160), but after further cleanups it turned out that very few tweaks were actually needed to avoid changes to `testpaths`.

r? jieyouxu
bors added a commit that referenced this pull request Nov 1, 2025
Rollup of 8 pull requests

Successful merges:

 - #147137 (Mention crate being analyzed in query description)
 - #148099 (Prepare to move debugger discovery from compiletest to bootstrap)
 - #148194 (compiletest: Remove `cleanup_debug_info_options`)
 - #148199 (compiletest: Don't modify `testpaths` when creating aux contexts)
 - #148240 (rustc_codegen: fix musttail returns for cast/indirect ABIs)
 - #148247 (Remove two special cases from reachable_non_generics)
 - #148290 (Do not emit solver errors that contain error types)
 - #148362 (docs: makes a note about possible building  `rustc 1.91.0 + host tools` for win7)

r? `@ghost`
`@rustbot` modify labels: rollup
@Zalathar
Copy link
Member Author

Zalathar commented Nov 2, 2025

Possibly failed in rollup: #148368 (comment)

@bors r-

@bors bors 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-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 2, 2025
@Zalathar
Copy link
Member Author

Zalathar commented Nov 2, 2025

@bors try jobs=arm-android

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Nov 2, 2025
compiletest: Don't modify `testpaths` when creating aux contexts

try-job: arm-android
@Zalathar
Copy link
Member Author

Zalathar commented Nov 2, 2025

After some investigation, I'm pretty sure the failure was from #148199, so putting this back in the queue.

@bors r=jieyouxu

@bors
Copy link
Collaborator

bors commented Nov 2, 2025

📌 Commit 720bfff 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 Nov 2, 2025
jhpratt added a commit to jhpratt/rust that referenced this pull request Nov 2, 2025
compiletest: Don't modify `testpaths` when creating aux contexts

Modifying `TestCx::testpaths` makes it vastly harder to reason about how compiletest is using test paths, and can be avoided without much trouble by simply passing explicit source-file paths into a small number of auxiliary-aware methods.

---

This PR was originally based on a much larger change that split `TestPaths` into multiple structs and multiple `TestCx` fields (as seen in early revisions of rust-lang#148160), but after further cleanups it turned out that very few tweaks were actually needed to avoid changes to `testpaths`.

r? jieyouxu
@rust-bors
Copy link

rust-bors bot commented Nov 2, 2025

☀️ Try build successful (CI)
Build commit: 49b0cfb (49b0cfb6f25820c1a1e58471569b4eb97de54a49, parent: bd3ac0330018c23b111bbee176f32c377be7b319)

bors added a commit that referenced this pull request Nov 2, 2025
Rollup of 12 pull requests

Successful merges:

 - #147137 (Mention crate being analyzed in query description)
 - #147642 (Miscellaneous const-generics-related fixes)
 - #147806 (Ignore test-dashboard related files)
 - #147947 (Implement `strip_circumfix` lib feature)
 - #148194 (compiletest: Remove `cleanup_debug_info_options`)
 - #148199 (compiletest: Don't modify `testpaths` when creating aux contexts)
 - #148247 (Remove two special cases from reachable_non_generics)
 - #148348 (dangling ptr lint cleanup)
 - #148357 (temporary-lifetime-extension.rs test works in all editions)
 - #148362 (docs: makes a note about possible building  `rustc 1.91.0 + host tools` for win7)
 - #148367 (Use --print host-tuple to get the host)
 - #148374 (miri subtree update)

r? `@ghost`
`@rustbot` modify labels: rollup
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) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants