Skip to content

Commit d53eb91

Browse files
Correctly handle should_panic on targets not supporting it
1 parent 030b664 commit d53eb91

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/librustdoc/doctest/runner.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ mod __doctest_mod {{
129129
130130
pub static BINARY_PATH: OnceLock<PathBuf> = OnceLock::new();
131131
pub const RUN_OPTION: &str = \"RUSTDOC_DOCTEST_RUN_NB_TEST\";
132+
pub const SHOULD_PANIC_DISABLED: bool = (
133+
cfg!(target_family = \"wasm\") || cfg!(target_os = \"zkvm\")
134+
) && !cfg!(target_os = \"emscripten\");
132135
133136
#[allow(unused)]
134137
pub fn doctest_path() -> Option<&'static PathBuf> {{
@@ -266,13 +269,14 @@ fn main() {returns_result} {{
266269
)
267270
.unwrap();
268271
}
272+
let should_panic = scraped_test.langstr.should_panic;
269273
let not_running = ignore || scraped_test.no_run(opts);
270274
writeln!(
271275
output_merged_tests,
272276
"
273277
mod {test_id} {{
274278
pub const TEST: test::TestDescAndFn = test::TestDescAndFn::new_doctest(
275-
{test_name:?}, {ignore}, {file:?}, {line}, {no_run}, false,
279+
{test_name:?}, {ignore} || ({should_panic} && crate::__doctest_mod::SHOULD_PANIC_DISABLED), {file:?}, {line}, {no_run}, false,
276280
test::StaticTestFn(
277281
|| {{{runner}}},
278282
));
@@ -288,13 +292,14 @@ test::StaticTestFn(
288292
} else {
289293
format!(
290294
"
291-
if let Some(bin_path) = crate::__doctest_mod::doctest_path() {{
295+
if {should_panic} && crate::__doctest_mod::SHOULD_PANIC_DISABLED {{
296+
test::assert_test_result(Ok::<(), String>(()))
297+
}} else if let Some(bin_path) = crate::__doctest_mod::doctest_path() {{
292298
test::assert_test_result(crate::__doctest_mod::doctest_runner(bin_path, {id}, {should_panic}))
293299
}} else {{
294300
test::assert_test_result(doctest_bundle::{test_id}::__main_fn())
295301
}}
296302
",
297-
should_panic = scraped_test.langstr.should_panic,
298303
)
299304
},
300305
)

0 commit comments

Comments
 (0)