libtest: expose --fail-fast as an unstable command-line option - #142807

Merged
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast
Sep 17, 2025
Merged

libtest: expose --fail-fast as an unstable command-line option#142807
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast

Conversation

@sourcefrog

@sourcefrogsourcefrog commented Jun 20, 2025

Copy link
Copy Markdown
Contributor

This exposes the fail_fast option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with -Zunstable-options.

Tracking issue: #142859

@rustbot

Copy link
Copy Markdown
Collaborator

r? @SparrowLii

rustbot has assigned @SparrowLii.
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

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I can not yet find any in-tree tests for the libtest command line options...

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I locally tested this with rustup toolchain link, and the basic function works as intended: after one test fails, no other tests start.

However that does find a problem that doctests don't accept this option.

@jieyouxu

Copy link
Copy Markdown
Member

cc @rust-lang/testing-devex
r? libs-api (libtest cli)

@rustbotrustbot added the T-libs-api [DEPRECATED; DO NOT USE] label Jun 20, 2025
@rustbotrustbot assigned dtolnay and unassigned SparrowLiiJun 20, 2025
@jieyouxujieyouxu added A-libtest Area: `#[test]` / the `test` library T-libs-api [DEPRECATED; DO NOT USE] T-testing-devex Relevant to the testing devex team (testing DX), which will review and decide on the PR/issue. and removed T-libs-api [DEPRECATED; DO NOT USE] T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@epage

Copy link
Copy Markdown
Contributor

Over at rust-lang/testing-devex-team#5, we're building up a list of all of the problems with the current doctest architecture.

I've noted this for the next testing-devex meeting.

@epage

Copy link
Copy Markdown
Contributor

As this builds on the original implementation and it was recognized as a hack by both the reviewer and the implementer, it would be good to get their feedback. My main concern is I've found PRs a poor place for collecting requirements / design information because they can come and go as different people work on it or even with the same author. Unsure if we should go ahead and do that discussion here or open an issue.

@jieyouxu

Copy link
Copy Markdown
Member

(It's probably best as its own issue, PR discussions are very easy to become lost)

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

OK, thanks, I created #142859 for the feature request. I looked but could not find an existing one.


After a bit of investigation I suspect the doctest failure might be something about doctest not linking the same library that's should have been used by cargo toolchain link. It doesn't seem to have its own runner or command line parser.

@dtolnaydtolnay added S-waiting-on-team and removed T-libs-api [DEPRECATED; DO NOT USE] S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 5, 2025
@epage

Copy link
Copy Markdown
Contributor

FCP has closed on rust-lang/libs-team#633, putting the CLI decision within the responsibility of @rust-lang/testing-devex. We previously discussed this in a meeting and recorded that decision at #142859 (comment).

As we're new to this, I assume this then needs an implementation sign off from a T-libs member?

@dtolnay

Copy link
Copy Markdown
Member

Thanks!
@bors r+

@bors

bors commented Sep 17, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 547c729 has been approved by dtolnay

It is now in the queue for this repository.

@borsbors 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-team labels Sep 17, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

Thanks, that's great!

I'll follow up about #142807 (comment). It's been a little while but from memory I think doctest targets fail if they see this option. Since it's marked unstable I hope we can just fix forward?

Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
This was referenced Sep 17, 2025
bors added a commit that referenced this pull request Sep 17, 2025
Rollup of 14 pull requests
Successful merges:
- #142807 (libtest: expose --fail-fast as an unstable command-line option)
- #144871 (Stabilize `btree_entry_insert` feature)
- #145071 (Update the minimum external LLVM to 20)
- #145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- #145660 (initial implementation of the darwin_objc unstable feature)
- #145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- #146259 (Suggest removing Box::new instead of unboxing it)
- #146410 (Iterator repeat: no infinite loop for `last` and `count`)
- #146460 (Add tidy readme)
- #146552 (StateTransform: Do not renumber resume local.)
- #146564 (Remove Rvalue::Len again.)
- #146581 (Detect attempt to use var-args in closure)
- #146588 (tests/run-make: Update list of statically linked musl targets)
- #146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 9d93fab into rust-lang:masterSep 17, 2025
@rustbotrustbot added this to the 1.92.0 milestone Sep 17, 2025
rust-timer added a commit that referenced this pull request Sep 17, 2025
Rollup merge of #142807 - sourcefrog:failfast, r=dtolnay
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: #142859
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Sep 22, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
github-actionsBot pushed a commit to model-checking/verify-rust-std that referenced this pull request Oct 9, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
rust-cloud-vmsBot pushed a commit to makai410/rustc_public that referenced this pull request Oct 12, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 8, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 10, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Nov 16, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol pushed a commit to Kobzol/rustc_codegen_cranelift that referenced this pull request Dec 29, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-libtestArea: `#[test]` / the `test` libraryS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-testing-devexRelevant to the testing devex team (testing DX), which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@sourcefrog@rustbot@jieyouxu@epage@dtolnay@bors@SparrowLii
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

libtest: expose --fail-fast as an unstable command-line option - #142807

Merged
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast
Sep 17, 2025
Merged

libtest: expose --fail-fast as an unstable command-line option#142807
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast

Conversation

@sourcefrog

@sourcefrogsourcefrog commented Jun 20, 2025

Copy link
Copy Markdown
Contributor

This exposes the fail_fast option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with -Zunstable-options.

Tracking issue: #142859

@rustbot

Copy link
Copy Markdown
Collaborator

r? @SparrowLii

rustbot has assigned @SparrowLii.
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

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I can not yet find any in-tree tests for the libtest command line options...

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I locally tested this with rustup toolchain link, and the basic function works as intended: after one test fails, no other tests start.

However that does find a problem that doctests don't accept this option.

@jieyouxu

Copy link
Copy Markdown
Member

cc @rust-lang/testing-devex
r? libs-api (libtest cli)

@rustbotrustbot added the T-libs-api [DEPRECATED; DO NOT USE] label Jun 20, 2025
@rustbotrustbot assigned dtolnay and unassigned SparrowLiiJun 20, 2025
@jieyouxujieyouxu added A-libtest Area: `#[test]` / the `test` library T-libs-api [DEPRECATED; DO NOT USE] T-testing-devex Relevant to the testing devex team (testing DX), which will review and decide on the PR/issue. and removed T-libs-api [DEPRECATED; DO NOT USE] T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@epage

Copy link
Copy Markdown
Contributor

Over at rust-lang/testing-devex-team#5, we're building up a list of all of the problems with the current doctest architecture.

I've noted this for the next testing-devex meeting.

@epage

Copy link
Copy Markdown
Contributor

As this builds on the original implementation and it was recognized as a hack by both the reviewer and the implementer, it would be good to get their feedback. My main concern is I've found PRs a poor place for collecting requirements / design information because they can come and go as different people work on it or even with the same author. Unsure if we should go ahead and do that discussion here or open an issue.

@jieyouxu

Copy link
Copy Markdown
Member

(It's probably best as its own issue, PR discussions are very easy to become lost)

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

OK, thanks, I created #142859 for the feature request. I looked but could not find an existing one.


After a bit of investigation I suspect the doctest failure might be something about doctest not linking the same library that's should have been used by cargo toolchain link. It doesn't seem to have its own runner or command line parser.

@dtolnaydtolnay added S-waiting-on-team and removed T-libs-api [DEPRECATED; DO NOT USE] S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 5, 2025
@epage

Copy link
Copy Markdown
Contributor

FCP has closed on rust-lang/libs-team#633, putting the CLI decision within the responsibility of @rust-lang/testing-devex. We previously discussed this in a meeting and recorded that decision at #142859 (comment).

As we're new to this, I assume this then needs an implementation sign off from a T-libs member?

@dtolnay

Copy link
Copy Markdown
Member

Thanks!
@bors r+

@bors

bors commented Sep 17, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 547c729 has been approved by dtolnay

It is now in the queue for this repository.

@borsbors 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-team labels Sep 17, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

Thanks, that's great!

I'll follow up about #142807 (comment). It's been a little while but from memory I think doctest targets fail if they see this option. Since it's marked unstable I hope we can just fix forward?

Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
This was referenced Sep 17, 2025
bors added a commit that referenced this pull request Sep 17, 2025
Rollup of 14 pull requests
Successful merges:
- #142807 (libtest: expose --fail-fast as an unstable command-line option)
- #144871 (Stabilize `btree_entry_insert` feature)
- #145071 (Update the minimum external LLVM to 20)
- #145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- #145660 (initial implementation of the darwin_objc unstable feature)
- #145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- #146259 (Suggest removing Box::new instead of unboxing it)
- #146410 (Iterator repeat: no infinite loop for `last` and `count`)
- #146460 (Add tidy readme)
- #146552 (StateTransform: Do not renumber resume local.)
- #146564 (Remove Rvalue::Len again.)
- #146581 (Detect attempt to use var-args in closure)
- #146588 (tests/run-make: Update list of statically linked musl targets)
- #146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 9d93fab into rust-lang:masterSep 17, 2025
@rustbotrustbot added this to the 1.92.0 milestone Sep 17, 2025
rust-timer added a commit that referenced this pull request Sep 17, 2025
Rollup merge of #142807 - sourcefrog:failfast, r=dtolnay
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: #142859
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Sep 22, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
github-actionsBot pushed a commit to model-checking/verify-rust-std that referenced this pull request Oct 9, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
rust-cloud-vmsBot pushed a commit to makai410/rustc_public that referenced this pull request Oct 12, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 8, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 10, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Nov 16, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol pushed a commit to Kobzol/rustc_codegen_cranelift that referenced this pull request Dec 29, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-libtestArea: `#[test]` / the `test` libraryS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-testing-devexRelevant to the testing devex team (testing DX), which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@sourcefrog@rustbot@jieyouxu@epage@dtolnay@bors@SparrowLii
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

libtest: expose --fail-fast as an unstable command-line option - #142807

Merged
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast
Sep 17, 2025
Merged

libtest: expose --fail-fast as an unstable command-line option#142807
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast

Conversation

@sourcefrog

@sourcefrogsourcefrog commented Jun 20, 2025

Copy link
Copy Markdown
Contributor

This exposes the fail_fast option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with -Zunstable-options.

Tracking issue: #142859

@rustbot

Copy link
Copy Markdown
Collaborator

r? @SparrowLii

rustbot has assigned @SparrowLii.
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

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I can not yet find any in-tree tests for the libtest command line options...

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I locally tested this with rustup toolchain link, and the basic function works as intended: after one test fails, no other tests start.

However that does find a problem that doctests don't accept this option.

@jieyouxu

Copy link
Copy Markdown
Member

cc @rust-lang/testing-devex
r? libs-api (libtest cli)

@rustbotrustbot added the T-libs-api [DEPRECATED; DO NOT USE] label Jun 20, 2025
@rustbotrustbot assigned dtolnay and unassigned SparrowLiiJun 20, 2025
@jieyouxujieyouxu added A-libtest Area: `#[test]` / the `test` library T-libs-api [DEPRECATED; DO NOT USE] T-testing-devex Relevant to the testing devex team (testing DX), which will review and decide on the PR/issue. and removed T-libs-api [DEPRECATED; DO NOT USE] T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@epage

Copy link
Copy Markdown
Contributor

Over at rust-lang/testing-devex-team#5, we're building up a list of all of the problems with the current doctest architecture.

I've noted this for the next testing-devex meeting.

@epage

Copy link
Copy Markdown
Contributor

As this builds on the original implementation and it was recognized as a hack by both the reviewer and the implementer, it would be good to get their feedback. My main concern is I've found PRs a poor place for collecting requirements / design information because they can come and go as different people work on it or even with the same author. Unsure if we should go ahead and do that discussion here or open an issue.

@jieyouxu

Copy link
Copy Markdown
Member

(It's probably best as its own issue, PR discussions are very easy to become lost)

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

OK, thanks, I created #142859 for the feature request. I looked but could not find an existing one.


After a bit of investigation I suspect the doctest failure might be something about doctest not linking the same library that's should have been used by cargo toolchain link. It doesn't seem to have its own runner or command line parser.

@dtolnaydtolnay added S-waiting-on-team and removed T-libs-api [DEPRECATED; DO NOT USE] S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 5, 2025
@epage

Copy link
Copy Markdown
Contributor

FCP has closed on rust-lang/libs-team#633, putting the CLI decision within the responsibility of @rust-lang/testing-devex. We previously discussed this in a meeting and recorded that decision at #142859 (comment).

As we're new to this, I assume this then needs an implementation sign off from a T-libs member?

@dtolnay

Copy link
Copy Markdown
Member

Thanks!
@bors r+

@bors

bors commented Sep 17, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 547c729 has been approved by dtolnay

It is now in the queue for this repository.

@borsbors 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-team labels Sep 17, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

Thanks, that's great!

I'll follow up about #142807 (comment). It's been a little while but from memory I think doctest targets fail if they see this option. Since it's marked unstable I hope we can just fix forward?

Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
This was referenced Sep 17, 2025
bors added a commit that referenced this pull request Sep 17, 2025
Rollup of 14 pull requests
Successful merges:
- #142807 (libtest: expose --fail-fast as an unstable command-line option)
- #144871 (Stabilize `btree_entry_insert` feature)
- #145071 (Update the minimum external LLVM to 20)
- #145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- #145660 (initial implementation of the darwin_objc unstable feature)
- #145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- #146259 (Suggest removing Box::new instead of unboxing it)
- #146410 (Iterator repeat: no infinite loop for `last` and `count`)
- #146460 (Add tidy readme)
- #146552 (StateTransform: Do not renumber resume local.)
- #146564 (Remove Rvalue::Len again.)
- #146581 (Detect attempt to use var-args in closure)
- #146588 (tests/run-make: Update list of statically linked musl targets)
- #146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 9d93fab into rust-lang:masterSep 17, 2025
@rustbotrustbot added this to the 1.92.0 milestone Sep 17, 2025
rust-timer added a commit that referenced this pull request Sep 17, 2025
Rollup merge of #142807 - sourcefrog:failfast, r=dtolnay
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: #142859
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Sep 22, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
github-actionsBot pushed a commit to model-checking/verify-rust-std that referenced this pull request Oct 9, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
rust-cloud-vmsBot pushed a commit to makai410/rustc_public that referenced this pull request Oct 12, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 8, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 10, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Nov 16, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol pushed a commit to Kobzol/rustc_codegen_cranelift that referenced this pull request Dec 29, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-libtestArea: `#[test]` / the `test` libraryS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-testing-devexRelevant to the testing devex team (testing DX), which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@sourcefrog@rustbot@jieyouxu@epage@dtolnay@bors@SparrowLii
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

libtest: expose --fail-fast as an unstable command-line option - #142807

Merged
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast
Sep 17, 2025
Merged

libtest: expose --fail-fast as an unstable command-line option#142807
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast

Conversation

@sourcefrog

@sourcefrogsourcefrog commented Jun 20, 2025

Copy link
Copy Markdown
Contributor

This exposes the fail_fast option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with -Zunstable-options.

Tracking issue: #142859

@rustbot

Copy link
Copy Markdown
Collaborator

r? @SparrowLii

rustbot has assigned @SparrowLii.
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

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I can not yet find any in-tree tests for the libtest command line options...

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I locally tested this with rustup toolchain link, and the basic function works as intended: after one test fails, no other tests start.

However that does find a problem that doctests don't accept this option.

@jieyouxu

Copy link
Copy Markdown
Member

cc @rust-lang/testing-devex
r? libs-api (libtest cli)

@rustbotrustbot added the T-libs-api [DEPRECATED; DO NOT USE] label Jun 20, 2025
@rustbotrustbot assigned dtolnay and unassigned SparrowLiiJun 20, 2025
@jieyouxujieyouxu added A-libtest Area: `#[test]` / the `test` library T-libs-api [DEPRECATED; DO NOT USE] T-testing-devex Relevant to the testing devex team (testing DX), which will review and decide on the PR/issue. and removed T-libs-api [DEPRECATED; DO NOT USE] T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@epage

Copy link
Copy Markdown
Contributor

Over at rust-lang/testing-devex-team#5, we're building up a list of all of the problems with the current doctest architecture.

I've noted this for the next testing-devex meeting.

@epage

Copy link
Copy Markdown
Contributor

As this builds on the original implementation and it was recognized as a hack by both the reviewer and the implementer, it would be good to get their feedback. My main concern is I've found PRs a poor place for collecting requirements / design information because they can come and go as different people work on it or even with the same author. Unsure if we should go ahead and do that discussion here or open an issue.

@jieyouxu

Copy link
Copy Markdown
Member

(It's probably best as its own issue, PR discussions are very easy to become lost)

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

OK, thanks, I created #142859 for the feature request. I looked but could not find an existing one.


After a bit of investigation I suspect the doctest failure might be something about doctest not linking the same library that's should have been used by cargo toolchain link. It doesn't seem to have its own runner or command line parser.

@dtolnaydtolnay added S-waiting-on-team and removed T-libs-api [DEPRECATED; DO NOT USE] S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 5, 2025
@epage

Copy link
Copy Markdown
Contributor

FCP has closed on rust-lang/libs-team#633, putting the CLI decision within the responsibility of @rust-lang/testing-devex. We previously discussed this in a meeting and recorded that decision at #142859 (comment).

As we're new to this, I assume this then needs an implementation sign off from a T-libs member?

@dtolnay

Copy link
Copy Markdown
Member

Thanks!
@bors r+

@bors

bors commented Sep 17, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 547c729 has been approved by dtolnay

It is now in the queue for this repository.

@borsbors 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-team labels Sep 17, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

Thanks, that's great!

I'll follow up about #142807 (comment). It's been a little while but from memory I think doctest targets fail if they see this option. Since it's marked unstable I hope we can just fix forward?

Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
This was referenced Sep 17, 2025
bors added a commit that referenced this pull request Sep 17, 2025
Rollup of 14 pull requests
Successful merges:
- #142807 (libtest: expose --fail-fast as an unstable command-line option)
- #144871 (Stabilize `btree_entry_insert` feature)
- #145071 (Update the minimum external LLVM to 20)
- #145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- #145660 (initial implementation of the darwin_objc unstable feature)
- #145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- #146259 (Suggest removing Box::new instead of unboxing it)
- #146410 (Iterator repeat: no infinite loop for `last` and `count`)
- #146460 (Add tidy readme)
- #146552 (StateTransform: Do not renumber resume local.)
- #146564 (Remove Rvalue::Len again.)
- #146581 (Detect attempt to use var-args in closure)
- #146588 (tests/run-make: Update list of statically linked musl targets)
- #146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 9d93fab into rust-lang:masterSep 17, 2025
@rustbotrustbot added this to the 1.92.0 milestone Sep 17, 2025
rust-timer added a commit that referenced this pull request Sep 17, 2025
Rollup merge of #142807 - sourcefrog:failfast, r=dtolnay
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: #142859
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Sep 22, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
github-actionsBot pushed a commit to model-checking/verify-rust-std that referenced this pull request Oct 9, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
rust-cloud-vmsBot pushed a commit to makai410/rustc_public that referenced this pull request Oct 12, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 8, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 10, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Nov 16, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol pushed a commit to Kobzol/rustc_codegen_cranelift that referenced this pull request Dec 29, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-libtestArea: `#[test]` / the `test` libraryS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-testing-devexRelevant to the testing devex team (testing DX), which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@sourcefrog@rustbot@jieyouxu@epage@dtolnay@bors@SparrowLii
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

libtest: expose --fail-fast as an unstable command-line option - #142807

Merged
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast
Sep 17, 2025
Merged

libtest: expose --fail-fast as an unstable command-line option#142807
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast

Conversation

@sourcefrog

@sourcefrogsourcefrog commented Jun 20, 2025

Copy link
Copy Markdown
Contributor

This exposes the fail_fast option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with -Zunstable-options.

Tracking issue: #142859

@rustbot

Copy link
Copy Markdown
Collaborator

r? @SparrowLii

rustbot has assigned @SparrowLii.
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

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I can not yet find any in-tree tests for the libtest command line options...

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I locally tested this with rustup toolchain link, and the basic function works as intended: after one test fails, no other tests start.

However that does find a problem that doctests don't accept this option.

@jieyouxu

Copy link
Copy Markdown
Member

cc @rust-lang/testing-devex
r? libs-api (libtest cli)

@rustbotrustbot added the T-libs-api [DEPRECATED; DO NOT USE] label Jun 20, 2025
@rustbotrustbot assigned dtolnay and unassigned SparrowLiiJun 20, 2025
@jieyouxujieyouxu added A-libtest Area: `#[test]` / the `test` library T-libs-api [DEPRECATED; DO NOT USE] T-testing-devex Relevant to the testing devex team (testing DX), which will review and decide on the PR/issue. and removed T-libs-api [DEPRECATED; DO NOT USE] T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@epage

Copy link
Copy Markdown
Contributor

Over at rust-lang/testing-devex-team#5, we're building up a list of all of the problems with the current doctest architecture.

I've noted this for the next testing-devex meeting.

@epage

Copy link
Copy Markdown
Contributor

As this builds on the original implementation and it was recognized as a hack by both the reviewer and the implementer, it would be good to get their feedback. My main concern is I've found PRs a poor place for collecting requirements / design information because they can come and go as different people work on it or even with the same author. Unsure if we should go ahead and do that discussion here or open an issue.

@jieyouxu

Copy link
Copy Markdown
Member

(It's probably best as its own issue, PR discussions are very easy to become lost)

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

OK, thanks, I created #142859 for the feature request. I looked but could not find an existing one.


After a bit of investigation I suspect the doctest failure might be something about doctest not linking the same library that's should have been used by cargo toolchain link. It doesn't seem to have its own runner or command line parser.

@dtolnaydtolnay added S-waiting-on-team and removed T-libs-api [DEPRECATED; DO NOT USE] S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 5, 2025
@epage

Copy link
Copy Markdown
Contributor

FCP has closed on rust-lang/libs-team#633, putting the CLI decision within the responsibility of @rust-lang/testing-devex. We previously discussed this in a meeting and recorded that decision at #142859 (comment).

As we're new to this, I assume this then needs an implementation sign off from a T-libs member?

@dtolnay

Copy link
Copy Markdown
Member

Thanks!
@bors r+

@bors

bors commented Sep 17, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 547c729 has been approved by dtolnay

It is now in the queue for this repository.

@borsbors 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-team labels Sep 17, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

Thanks, that's great!

I'll follow up about #142807 (comment). It's been a little while but from memory I think doctest targets fail if they see this option. Since it's marked unstable I hope we can just fix forward?

Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
This was referenced Sep 17, 2025
bors added a commit that referenced this pull request Sep 17, 2025
Rollup of 14 pull requests
Successful merges:
- #142807 (libtest: expose --fail-fast as an unstable command-line option)
- #144871 (Stabilize `btree_entry_insert` feature)
- #145071 (Update the minimum external LLVM to 20)
- #145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- #145660 (initial implementation of the darwin_objc unstable feature)
- #145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- #146259 (Suggest removing Box::new instead of unboxing it)
- #146410 (Iterator repeat: no infinite loop for `last` and `count`)
- #146460 (Add tidy readme)
- #146552 (StateTransform: Do not renumber resume local.)
- #146564 (Remove Rvalue::Len again.)
- #146581 (Detect attempt to use var-args in closure)
- #146588 (tests/run-make: Update list of statically linked musl targets)
- #146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 9d93fab into rust-lang:masterSep 17, 2025
@rustbotrustbot added this to the 1.92.0 milestone Sep 17, 2025
rust-timer added a commit that referenced this pull request Sep 17, 2025
Rollup merge of #142807 - sourcefrog:failfast, r=dtolnay
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: #142859
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Sep 22, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
github-actionsBot pushed a commit to model-checking/verify-rust-std that referenced this pull request Oct 9, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
rust-cloud-vmsBot pushed a commit to makai410/rustc_public that referenced this pull request Oct 12, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 8, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 10, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Nov 16, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol pushed a commit to Kobzol/rustc_codegen_cranelift that referenced this pull request Dec 29, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-libtestArea: `#[test]` / the `test` libraryS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-testing-devexRelevant to the testing devex team (testing DX), which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@sourcefrog@rustbot@jieyouxu@epage@dtolnay@bors@SparrowLii
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

libtest: expose --fail-fast as an unstable command-line option - #142807

Merged
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast
Sep 17, 2025
Merged

libtest: expose --fail-fast as an unstable command-line option#142807
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast

Conversation

@sourcefrog

@sourcefrogsourcefrog commented Jun 20, 2025

Copy link
Copy Markdown
Contributor

This exposes the fail_fast option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with -Zunstable-options.

Tracking issue: #142859

@rustbot

Copy link
Copy Markdown
Collaborator

r? @SparrowLii

rustbot has assigned @SparrowLii.
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

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I can not yet find any in-tree tests for the libtest command line options...

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I locally tested this with rustup toolchain link, and the basic function works as intended: after one test fails, no other tests start.

However that does find a problem that doctests don't accept this option.

@jieyouxu

Copy link
Copy Markdown
Member

cc @rust-lang/testing-devex
r? libs-api (libtest cli)

@rustbotrustbot added the T-libs-api [DEPRECATED; DO NOT USE] label Jun 20, 2025
@rustbotrustbot assigned dtolnay and unassigned SparrowLiiJun 20, 2025
@jieyouxujieyouxu added A-libtest Area: `#[test]` / the `test` library T-libs-api [DEPRECATED; DO NOT USE] T-testing-devex Relevant to the testing devex team (testing DX), which will review and decide on the PR/issue. and removed T-libs-api [DEPRECATED; DO NOT USE] T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@epage

Copy link
Copy Markdown
Contributor

Over at rust-lang/testing-devex-team#5, we're building up a list of all of the problems with the current doctest architecture.

I've noted this for the next testing-devex meeting.

@epage

Copy link
Copy Markdown
Contributor

As this builds on the original implementation and it was recognized as a hack by both the reviewer and the implementer, it would be good to get their feedback. My main concern is I've found PRs a poor place for collecting requirements / design information because they can come and go as different people work on it or even with the same author. Unsure if we should go ahead and do that discussion here or open an issue.

@jieyouxu

Copy link
Copy Markdown
Member

(It's probably best as its own issue, PR discussions are very easy to become lost)

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

OK, thanks, I created #142859 for the feature request. I looked but could not find an existing one.


After a bit of investigation I suspect the doctest failure might be something about doctest not linking the same library that's should have been used by cargo toolchain link. It doesn't seem to have its own runner or command line parser.

@dtolnaydtolnay added S-waiting-on-team and removed T-libs-api [DEPRECATED; DO NOT USE] S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 5, 2025
@epage

Copy link
Copy Markdown
Contributor

FCP has closed on rust-lang/libs-team#633, putting the CLI decision within the responsibility of @rust-lang/testing-devex. We previously discussed this in a meeting and recorded that decision at #142859 (comment).

As we're new to this, I assume this then needs an implementation sign off from a T-libs member?

@dtolnay

Copy link
Copy Markdown
Member

Thanks!
@bors r+

@bors

bors commented Sep 17, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 547c729 has been approved by dtolnay

It is now in the queue for this repository.

@borsbors 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-team labels Sep 17, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

Thanks, that's great!

I'll follow up about #142807 (comment). It's been a little while but from memory I think doctest targets fail if they see this option. Since it's marked unstable I hope we can just fix forward?

Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
This was referenced Sep 17, 2025
bors added a commit that referenced this pull request Sep 17, 2025
Rollup of 14 pull requests
Successful merges:
- #142807 (libtest: expose --fail-fast as an unstable command-line option)
- #144871 (Stabilize `btree_entry_insert` feature)
- #145071 (Update the minimum external LLVM to 20)
- #145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- #145660 (initial implementation of the darwin_objc unstable feature)
- #145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- #146259 (Suggest removing Box::new instead of unboxing it)
- #146410 (Iterator repeat: no infinite loop for `last` and `count`)
- #146460 (Add tidy readme)
- #146552 (StateTransform: Do not renumber resume local.)
- #146564 (Remove Rvalue::Len again.)
- #146581 (Detect attempt to use var-args in closure)
- #146588 (tests/run-make: Update list of statically linked musl targets)
- #146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 9d93fab into rust-lang:masterSep 17, 2025
@rustbotrustbot added this to the 1.92.0 milestone Sep 17, 2025
rust-timer added a commit that referenced this pull request Sep 17, 2025
Rollup merge of #142807 - sourcefrog:failfast, r=dtolnay
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: #142859
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Sep 22, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
github-actionsBot pushed a commit to model-checking/verify-rust-std that referenced this pull request Oct 9, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
rust-cloud-vmsBot pushed a commit to makai410/rustc_public that referenced this pull request Oct 12, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 8, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 10, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Nov 16, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol pushed a commit to Kobzol/rustc_codegen_cranelift that referenced this pull request Dec 29, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-libtestArea: `#[test]` / the `test` libraryS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-testing-devexRelevant to the testing devex team (testing DX), which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@sourcefrog@rustbot@jieyouxu@epage@dtolnay@bors@SparrowLii
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

libtest: expose --fail-fast as an unstable command-line option - #142807

Merged
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast
Sep 17, 2025
Merged

libtest: expose --fail-fast as an unstable command-line option#142807
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast

Conversation

@sourcefrog

@sourcefrogsourcefrog commented Jun 20, 2025

Copy link
Copy Markdown
Contributor

This exposes the fail_fast option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with -Zunstable-options.

Tracking issue: #142859

@rustbot

Copy link
Copy Markdown
Collaborator

r? @SparrowLii

rustbot has assigned @SparrowLii.
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

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I can not yet find any in-tree tests for the libtest command line options...

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I locally tested this with rustup toolchain link, and the basic function works as intended: after one test fails, no other tests start.

However that does find a problem that doctests don't accept this option.

@jieyouxu

Copy link
Copy Markdown
Member

cc @rust-lang/testing-devex
r? libs-api (libtest cli)

@rustbotrustbot added the T-libs-api [DEPRECATED; DO NOT USE] label Jun 20, 2025
@rustbotrustbot assigned dtolnay and unassigned SparrowLiiJun 20, 2025
@jieyouxujieyouxu added A-libtest Area: `#[test]` / the `test` library T-libs-api [DEPRECATED; DO NOT USE] T-testing-devex Relevant to the testing devex team (testing DX), which will review and decide on the PR/issue. and removed T-libs-api [DEPRECATED; DO NOT USE] T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@epage

Copy link
Copy Markdown
Contributor

Over at rust-lang/testing-devex-team#5, we're building up a list of all of the problems with the current doctest architecture.

I've noted this for the next testing-devex meeting.

@epage

Copy link
Copy Markdown
Contributor

As this builds on the original implementation and it was recognized as a hack by both the reviewer and the implementer, it would be good to get their feedback. My main concern is I've found PRs a poor place for collecting requirements / design information because they can come and go as different people work on it or even with the same author. Unsure if we should go ahead and do that discussion here or open an issue.

@jieyouxu

Copy link
Copy Markdown
Member

(It's probably best as its own issue, PR discussions are very easy to become lost)

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

OK, thanks, I created #142859 for the feature request. I looked but could not find an existing one.


After a bit of investigation I suspect the doctest failure might be something about doctest not linking the same library that's should have been used by cargo toolchain link. It doesn't seem to have its own runner or command line parser.

@dtolnaydtolnay added S-waiting-on-team and removed T-libs-api [DEPRECATED; DO NOT USE] S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 5, 2025
@epage

Copy link
Copy Markdown
Contributor

FCP has closed on rust-lang/libs-team#633, putting the CLI decision within the responsibility of @rust-lang/testing-devex. We previously discussed this in a meeting and recorded that decision at #142859 (comment).

As we're new to this, I assume this then needs an implementation sign off from a T-libs member?

@dtolnay

Copy link
Copy Markdown
Member

Thanks!
@bors r+

@bors

bors commented Sep 17, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 547c729 has been approved by dtolnay

It is now in the queue for this repository.

@borsbors 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-team labels Sep 17, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

Thanks, that's great!

I'll follow up about #142807 (comment). It's been a little while but from memory I think doctest targets fail if they see this option. Since it's marked unstable I hope we can just fix forward?

Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
This was referenced Sep 17, 2025
bors added a commit that referenced this pull request Sep 17, 2025
Rollup of 14 pull requests
Successful merges:
- #142807 (libtest: expose --fail-fast as an unstable command-line option)
- #144871 (Stabilize `btree_entry_insert` feature)
- #145071 (Update the minimum external LLVM to 20)
- #145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- #145660 (initial implementation of the darwin_objc unstable feature)
- #145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- #146259 (Suggest removing Box::new instead of unboxing it)
- #146410 (Iterator repeat: no infinite loop for `last` and `count`)
- #146460 (Add tidy readme)
- #146552 (StateTransform: Do not renumber resume local.)
- #146564 (Remove Rvalue::Len again.)
- #146581 (Detect attempt to use var-args in closure)
- #146588 (tests/run-make: Update list of statically linked musl targets)
- #146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 9d93fab into rust-lang:masterSep 17, 2025
@rustbotrustbot added this to the 1.92.0 milestone Sep 17, 2025
rust-timer added a commit that referenced this pull request Sep 17, 2025
Rollup merge of #142807 - sourcefrog:failfast, r=dtolnay
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: #142859
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Sep 22, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
github-actionsBot pushed a commit to model-checking/verify-rust-std that referenced this pull request Oct 9, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
rust-cloud-vmsBot pushed a commit to makai410/rustc_public that referenced this pull request Oct 12, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 8, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 10, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Nov 16, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol pushed a commit to Kobzol/rustc_codegen_cranelift that referenced this pull request Dec 29, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-libtestArea: `#[test]` / the `test` libraryS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-testing-devexRelevant to the testing devex team (testing DX), which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@sourcefrog@rustbot@jieyouxu@epage@dtolnay@bors@SparrowLii
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

libtest: expose --fail-fast as an unstable command-line option - #142807

Merged
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast
Sep 17, 2025
Merged

libtest: expose --fail-fast as an unstable command-line option#142807
bors merged 2 commits into
rust-lang:masterfrom
sourcefrog:failfast

Conversation

@sourcefrog

@sourcefrogsourcefrog commented Jun 20, 2025

Copy link
Copy Markdown
Contributor

This exposes the fail_fast option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with -Zunstable-options.

Tracking issue: #142859

@rustbot

Copy link
Copy Markdown
Collaborator

r? @SparrowLii

rustbot has assigned @SparrowLii.
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

@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I can not yet find any in-tree tests for the libtest command line options...

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

I locally tested this with rustup toolchain link, and the basic function works as intended: after one test fails, no other tests start.

However that does find a problem that doctests don't accept this option.

@jieyouxu

Copy link
Copy Markdown
Member

cc @rust-lang/testing-devex
r? libs-api (libtest cli)

@rustbotrustbot added the T-libs-api [DEPRECATED; DO NOT USE] label Jun 20, 2025
@rustbotrustbot assigned dtolnay and unassigned SparrowLiiJun 20, 2025
@jieyouxujieyouxu added A-libtest Area: `#[test]` / the `test` library T-libs-api [DEPRECATED; DO NOT USE] T-testing-devex Relevant to the testing devex team (testing DX), which will review and decide on the PR/issue. and removed T-libs-api [DEPRECATED; DO NOT USE] T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 20, 2025
@epage

Copy link
Copy Markdown
Contributor

Over at rust-lang/testing-devex-team#5, we're building up a list of all of the problems with the current doctest architecture.

I've noted this for the next testing-devex meeting.

@epage

Copy link
Copy Markdown
Contributor

As this builds on the original implementation and it was recognized as a hack by both the reviewer and the implementer, it would be good to get their feedback. My main concern is I've found PRs a poor place for collecting requirements / design information because they can come and go as different people work on it or even with the same author. Unsure if we should go ahead and do that discussion here or open an issue.

@jieyouxu

Copy link
Copy Markdown
Member

(It's probably best as its own issue, PR discussions are very easy to become lost)

@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

OK, thanks, I created #142859 for the feature request. I looked but could not find an existing one.


After a bit of investigation I suspect the doctest failure might be something about doctest not linking the same library that's should have been used by cargo toolchain link. It doesn't seem to have its own runner or command line parser.

@dtolnaydtolnay added S-waiting-on-team and removed T-libs-api [DEPRECATED; DO NOT USE] S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 5, 2025
@epage

Copy link
Copy Markdown
Contributor

FCP has closed on rust-lang/libs-team#633, putting the CLI decision within the responsibility of @rust-lang/testing-devex. We previously discussed this in a meeting and recorded that decision at #142859 (comment).

As we're new to this, I assume this then needs an implementation sign off from a T-libs member?

@dtolnay

Copy link
Copy Markdown
Member

Thanks!
@bors r+

@bors

bors commented Sep 17, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 547c729 has been approved by dtolnay

It is now in the queue for this repository.

@borsbors 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-team labels Sep 17, 2025
@sourcefrog

Copy link
Copy Markdown
ContributorAuthor

Thanks, that's great!

I'll follow up about #142807 (comment). It's been a little while but from memory I think doctest targets fail if they see this option. Since it's marked unstable I hope we can just fix forward?

Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
Zalathar added a commit to Zalathar/rust that referenced this pull request Sep 17, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
This was referenced Sep 17, 2025
bors added a commit that referenced this pull request Sep 17, 2025
Rollup of 14 pull requests
Successful merges:
- #142807 (libtest: expose --fail-fast as an unstable command-line option)
- #144871 (Stabilize `btree_entry_insert` feature)
- #145071 (Update the minimum external LLVM to 20)
- #145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- #145660 (initial implementation of the darwin_objc unstable feature)
- #145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- #146259 (Suggest removing Box::new instead of unboxing it)
- #146410 (Iterator repeat: no infinite loop for `last` and `count`)
- #146460 (Add tidy readme)
- #146552 (StateTransform: Do not renumber resume local.)
- #146564 (Remove Rvalue::Len again.)
- #146581 (Detect attempt to use var-args in closure)
- #146588 (tests/run-make: Update list of statically linked musl targets)
- #146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 9d93fab into rust-lang:masterSep 17, 2025
@rustbotrustbot added this to the 1.92.0 milestone Sep 17, 2025
rust-timer added a commit that referenced this pull request Sep 17, 2025
Rollup merge of #142807 - sourcefrog:failfast, r=dtolnay
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in #105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: #142859
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Sep 22, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
github-actionsBot pushed a commit to model-checking/verify-rust-std that referenced this pull request Oct 9, 2025
libtest: expose --fail-fast as an unstable command-line option
This exposes the `fail_fast` option added in rust-lang#105153 on the test harness command line, so that workflows that only want to know if any test fails can find out without waiting for everything to run. For example, cargo-mutants just needs to know if any tests fails. It only works with `-Zunstable-options`.
Tracking issue: rust-lang#142859
rust-cloud-vmsBot pushed a commit to makai410/rustc_public that referenced this pull request Oct 12, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 8, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rust that referenced this pull request Nov 10, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang#145071 (Update the minimum external LLVM to 20)
- rust-lang#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang#146460 (Add tidy readme)
- rust-lang#146552 (StateTransform: Do not renumber resume local.)
- rust-lang#146564 (Remove Rvalue::Len again.)
- rust-lang#146581 (Detect attempt to use var-args in closure)
- rust-lang#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Nov 16, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Kobzol pushed a commit to Kobzol/rustc_codegen_cranelift that referenced this pull request Dec 29, 2025
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
christian-schilling pushed a commit to christian-schilling/rustc_codegen_cranelift that referenced this pull request Jan 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Rollup of 14 pull requests
Successful merges:
- rust-lang/rust#142807 (libtest: expose --fail-fast as an unstable command-line option)
- rust-lang/rust#144871 (Stabilize `btree_entry_insert` feature)
- rust-lang/rust#145071 (Update the minimum external LLVM to 20)
- rust-lang/rust#145181 (remove FIXME block from `has_significant_drop`, it never encounters inference variables)
- rust-lang/rust#145660 (initial implementation of the darwin_objc unstable feature)
- rust-lang/rust#145838 (don't apply temporary lifetime extension rules to non-extended `super let`)
- rust-lang/rust#146259 (Suggest removing Box::new instead of unboxing it)
- rust-lang/rust#146410 (Iterator repeat: no infinite loop for `last` and `count`)
- rust-lang/rust#146460 (Add tidy readme)
- rust-lang/rust#146552 (StateTransform: Do not renumber resume local.)
- rust-lang/rust#146564 (Remove Rvalue::Len again.)
- rust-lang/rust#146581 (Detect attempt to use var-args in closure)
- rust-lang/rust#146588 (tests/run-make: Update list of statically linked musl targets)
- rust-lang/rust#146631 (cg_llvm: Replace some DIBuilder wrappers with LLVM-C API bindings (part 3))
r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-libtestArea: `#[test]` / the `test` libraryS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-testing-devexRelevant to the testing devex team (testing DX), which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@sourcefrog@rustbot@jieyouxu@epage@dtolnay@bors@SparrowLii