Add regression test for rustdoc scrape-examples feature crash (#144752)
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
[package]
|
||||||
|
name = "foo"
|
||||||
|
version = "0.0.1"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[[example]]
|
||||||
|
name = "complex"
|
||||||
|
doc-scrape-examples = true
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
let mut x = foo::X::new();
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
// This file MUST exist to trigger the original bug.
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
pub struct X;
|
||||||
|
|
||||||
|
impl X {
|
||||||
|
pub fn new() -> Self {
|
||||||
|
X
|
||||||
|
}
|
||||||
|
}
|
||||||
16
tests/run-make/rustdoc-scrape-examples-paths/rmake.rs
Normal file
16
tests/run-make/rustdoc-scrape-examples-paths/rmake.rs
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
//! Test to ensure that the rustdoc `scrape-examples` feature is not panicking.
|
||||||
|
//! Regression test for <https://github.com/rust-lang/rust/issues/144752>.
|
||||||
|
|
||||||
|
use run_make_support::{cargo, path, rfs};
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// We copy the crate to be documented "outside" to prevent documenting
|
||||||
|
// the whole compiler.
|
||||||
|
let tmp = std::env::temp_dir();
|
||||||
|
let test_crate = tmp.join("foo");
|
||||||
|
rfs::copy_dir_all(path("foo"), &test_crate);
|
||||||
|
|
||||||
|
// The `scrape-examples` feature is also implemented in `cargo` so instead of reproducing
|
||||||
|
// what `cargo` does, better to just let `cargo` do it.
|
||||||
|
cargo().current_dir(&test_crate).args(["doc", "-p", "foo", "-Zrustdoc-scrape-examples"]).run();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user