-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[rustdoc] Correctly handle should_panic
doctest attribute and fix --no-run
test flag on the 2024 edition
#143900
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
This PR modifies cc @jieyouxu |
This comment has been minimized.
This comment has been minimized.
I... do not see anything like that in the patch? There's two checks for exit code 101. |
Woups, copied/pasted comment from original PR which was outdated after discussion with you (on the previous PR). ^^' EDIT: Updated comment. |
if langstr.should_panic {
if out.status.code() == Some(101) {
return Ok(());
} else if out.status.success() {
return Err(TestFailure::UnexpectedRunPass);
}
}
if !out.status.success() {
return Err(TestFailure::ExecutionFailure(out));
} Do you think something like this would make sense, so that it's easier for the user to differentiate between aborts and panic-less success? |
|
Wouldn't changing |
That wouldn't cover |
I've amended my comment a moment before you replied, apologies. |
Replied too fast then. 😅 The message for |
I think we're talking past each other. I suggest that:
Wouldn't that work? |
I still think it's too general. For end users, |
That makes sense, yeah. Let's delay it until after this PR lands then. |
☔ The latest upstream changes (presumably #144692) made this pull request unmergeable. Please resolve the merge conflicts. |
72aadc6
to
248c61c
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
248c61c
to
c365e6e
Compare
This comment has been minimized.
This comment has been minimized.
…Amanieu Make `libtest::ERROR_EXIT_CODE` const public to not redefine it in rustdoc I think it's better to make this constant public so it can be used by crates using `libtest` as dependency. As a side-note, I will update rust-lang#143900 to make use of this constant once this is current PR is merged.
Rollup merge of #144297 - GuillaumeGomez:ERROR_EXIT_CODE, r=Amanieu Make `libtest::ERROR_EXIT_CODE` const public to not redefine it in rustdoc I think it's better to make this constant public so it can be used by crates using `libtest` as dependency. As a side-note, I will update #143900 to make use of this constant once this is current PR is merged.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks correct to me, just some very minor nitpicks
for text in should_contain { | ||
assert!( | ||
output.contains(text), | ||
"output doesn't contains (edition: {edition}) {:?}\nfull output: {output}", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"output doesn't contains (edition: {edition}) {:?}\nfull output: {output}", | |
"output (edition: {edition}) doesn't contains {:?}\nfull output: {output}", |
tiny nitpick: i think this order makes a bit more sense, otherwise it feels like it's saying "doesn't contain edition"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also: "doesn't contain", not "doesn't contains".
@@ -827,7 +827,7 @@ fn run_test( | |||
match result { | |||
Err(e) => return (duration, Err(TestFailure::ExecutionError(e))), | |||
Ok(out) => { | |||
if langstr.should_panic && out.status.success() { | |||
if langstr.should_panic && out.status.code() != Some(101) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if langstr.should_panic && out.status.code() != Some(101) { | |
// FIXME: use test::ERROR_EXIT_CODE once public | |
if langstr.should_panic && out.status.code() != Some(101) { |
let out = std::process::Command::new(bin) | ||
.env(self::RUN_OPTION, test_nb.to_string()) | ||
.args(std::env::args().skip(1).collect::<Vec<_>>()) | ||
.output() | ||
.expect(\"failed to run command\"); | ||
if !out.status.success() {{ | ||
if should_panic {{ | ||
if out.status.code() != Some(101) {{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if out.status.code() != Some(101) {{ | |
// FIXME: use test::ERROR_EXIT_CODE once public | |
if out.status.code() != Some(101) {{ |
Thanks to both of you! @bors r=lolbinarycat,fmease rollup |
…narycat,fmease [rustdoc] Correctly handle `should_panic` doctest attribute and fix `--no-run` test flag on the 2024 edition Fixes rust-lang#143009. Fixes rust-lang#143858. Since it includes fixes from rust-lang#143453, it's taking it over (commits 2, 3 and 4 are from rust-lang#143453). For `--no-run`, we forgot to check the "global" options in the 2024 edition, fixed in the first commit. For `should_panic` fix, the exit code check has been fixed. cc `@TroyKomodo` (thanks so much for providing such a complete test, made my life a lot easier!) r? `@notriddle`
Rollup of 10 pull requests Successful merges: - #132748 (get rid of some false negatives in rustdoc::broken_intra_doc_links) - #135771 ([rustdoc] Add support for associated items in "jump to def" feature) - #143360 (loop match: error on `#[const_continue]` outside `#[loop_match]`) - #143662 ([rustdoc] Display unsafe attrs with edition 2024 `unsafe()` wrappers.) - #143900 ([rustdoc] Correctly handle `should_panic` doctest attribute and fix `--no-run` test flag on the 2024 edition) - #144614 (Fortify RemoveUnneededDrops test.) - #144703 ([test][AIX] ignore extern_weak linkage test) - #144738 (Remove the omit_gdb_pretty_printer_section attribute) - #144756 (detect infinite recursion with tail calls in ctfe) - #144766 (Add human readable name "Cygwin") r? `@ghost` `@rustbot` modify labels: rollup
…narycat,fmease [rustdoc] Correctly handle `should_panic` doctest attribute and fix `--no-run` test flag on the 2024 edition Fixes rust-lang#143009. Fixes rust-lang#143858. Since it includes fixes from rust-lang#143453, it's taking it over (commits 2, 3 and 4 are from rust-lang#143453). For `--no-run`, we forgot to check the "global" options in the 2024 edition, fixed in the first commit. For `should_panic` fix, the exit code check has been fixed. cc ``@TroyKomodo`` (thanks so much for providing such a complete test, made my life a lot easier!) r? ``@notriddle``
Rollup of 11 pull requests Successful merges: - #132748 (get rid of some false negatives in rustdoc::broken_intra_doc_links) - #135771 ([rustdoc] Add support for associated items in "jump to def" feature) - #143360 (loop match: error on `#[const_continue]` outside `#[loop_match]`) - #143662 ([rustdoc] Display unsafe attrs with edition 2024 `unsafe()` wrappers.) - #143900 ([rustdoc] Correctly handle `should_panic` doctest attribute and fix `--no-run` test flag on the 2024 edition) - #144478 (Improve formatting of doc code blocks) - #144703 ([test][AIX] ignore extern_weak linkage test) - #144747 (compiletest: Improve diagnostics for line annotation mismatches 2) - #144756 (detect infinite recursion with tail calls in ctfe) - #144766 (Add human readable name "Cygwin") - #144782 (Properly pass path to staged `rustc` to `compiletest` self-tests) r? `@ghost` `@rustbot` modify labels: rollup
61c5343
to
7b8015c
Compare
Just tested locally and it passed fine. Might be another PR in the rollup I guess. @bors r=lolbinarycat,fmease rollup |
Fixes #143009.
Fixes #143858.
Since it includes fixes from #143453, it's taking it over (commits 2, 3 and 4 are from #143453).
For
--no-run
, we forgot to check the "global" options in the 2024 edition, fixed in the first commit.For
should_panic
fix, the exit code check has been fixed.cc @TroyKomodo (thanks so much for providing such a complete test, made my life a lot easier!)
r? @notriddle