-
Notifications
You must be signed in to change notification settings - Fork 13.3k
compiletest: Encapsulate all of the code that touches libtest #139317
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some changes occurred in src/tools/compiletest cc @jieyouxu |
jieyouxu
approved these changes
Apr 3, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
@bors r+ rollup |
Zalathar
added a commit
to Zalathar/rust
that referenced
this pull request
Apr 4, 2025
compiletest: Encapsulate all of the code that touches libtest Compiletest currently relies on unstable libtest APIs in order to actually execute tests. That's unfortunate, but removing the dependency isn't trivial. However, we can make a small step towards removing the libtest dependency by encapsulating the libtest interactions into a single dedicated module. That makes it easier to see what parts of libtest are actually used. --- As a side-effect of moving the `test_opts` function into that dedicated module, this PR also ends up allowing `--fail-fast` to be passed on the command line, instead of requiring an environment variable. --- There is still (at least) one other aspect of the libtest dependency that this PR does not address, namely the fact that we rely on libtest's output capture (via unstable std APIs) to capture the output that we print during individual tests. I hope to do something about that at some point. r? jieyouxu
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Apr 4, 2025
Rollup of 14 pull requests Successful merges: - rust-lang#137869 (Demote i686-pc-windows-gnu to Tier 2) - rust-lang#137880 (Autodiff batching) - rust-lang#138546 (Add integer to string formatting tests) - rust-lang#138947 (Refactor Apple version handling in the compiler) - rust-lang#138950 (replace extra_filename with strict version hash in metrics file names) - rust-lang#139213 (Run coretests and alloctests with cg_clif in CI) - rust-lang#139274 (Rustdoc: typecheck settings.js) - rust-lang#139295 (Remove creation of duplicate `AnonPipe`) - rust-lang#139298 (Allow for missing invisible close delim when reparsing an expression.) - rust-lang#139313 (Deduplicate some `rustc_middle` function bodies by calling the `rustc_type_ir` equivalent) - rust-lang#139317 (compiletest: Encapsulate all of the code that touches libtest) - rust-lang#139322 (Add helper function for checking LLD usage to `run-make-support`) - rust-lang#139335 (Pass correct param-env to `error_implies`) - rust-lang#139342 (Add a mailmap entry for myself) Failed merges: - rust-lang#138949 (Rename `is_like_osx` to `is_like_darwin`) r? `@ghost` `@rustbot` modify labels: rollup
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Apr 4, 2025
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#138949 (Rename `is_like_osx` to `is_like_darwin`) - rust-lang#139295 (Remove creation of duplicate `AnonPipe`) - rust-lang#139313 (Deduplicate some `rustc_middle` function bodies by calling the `rustc_type_ir` equivalent) - rust-lang#139317 (compiletest: Encapsulate all of the code that touches libtest) - rust-lang#139322 (Add helper function for checking LLD usage to `run-make-support`) - rust-lang#139335 (Pass correct param-env to `error_implies`) - rust-lang#139342 (Add a mailmap entry for myself) - rust-lang#139349 (adt_destructor: sanity-check returned item) r? `@ghost` `@rustbot` modify labels: rollup
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Apr 4, 2025
Rollup merge of rust-lang#139317 - Zalathar:hide-libtest, r=jieyouxu compiletest: Encapsulate all of the code that touches libtest Compiletest currently relies on unstable libtest APIs in order to actually execute tests. That's unfortunate, but removing the dependency isn't trivial. However, we can make a small step towards removing the libtest dependency by encapsulating the libtest interactions into a single dedicated module. That makes it easier to see what parts of libtest are actually used. --- As a side-effect of moving the `test_opts` function into that dedicated module, this PR also ends up allowing `--fail-fast` to be passed on the command line, instead of requiring an environment variable. --- There is still (at least) one other aspect of the libtest dependency that this PR does not address, namely the fact that we rely on libtest's output capture (via unstable std APIs) to capture the output that we print during individual tests. I hope to do something about that at some point. r? jieyouxu
Kobzol
pushed a commit
to Kobzol/rust
that referenced
this pull request
Apr 4, 2025
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#138949 (Rename `is_like_osx` to `is_like_darwin`) - rust-lang#139295 (Remove creation of duplicate `AnonPipe`) - rust-lang#139313 (Deduplicate some `rustc_middle` function bodies by calling the `rustc_type_ir` equivalent) - rust-lang#139317 (compiletest: Encapsulate all of the code that touches libtest) - rust-lang#139322 (Add helper function for checking LLD usage to `run-make-support`) - rust-lang#139335 (Pass correct param-env to `error_implies`) - rust-lang#139342 (Add a mailmap entry for myself) - rust-lang#139349 (adt_destructor: sanity-check returned item) 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)
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Compiletest currently relies on unstable libtest APIs in order to actually execute tests. That's unfortunate, but removing the dependency isn't trivial.
However, we can make a small step towards removing the libtest dependency by encapsulating the libtest interactions into a single dedicated module. That makes it easier to see what parts of libtest are actually used.
As a side-effect of moving the
test_opts
function into that dedicated module, this PR also ends up allowing--fail-fast
to be passed on the command line, instead of requiring an environment variable.There is still (at least) one other aspect of the libtest dependency that this PR does not address, namely the fact that we rely on libtest's output capture (via unstable std APIs) to capture the output that we print during individual tests. I hope to do something about that at some point.
r? jieyouxu