Rollup merge of #98708 - pinkforest:rustdoc-fix-98690, r=GuillaumeGomez

rustdoc: fix 98690 Panic if invalid path for -Z persist-doctests

Closes #98690 for rustdoc panic

I changed this to do eprintln and orderly panic instead of unwrap doing unhandled panic

~/gg/rust/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc --test -Z unstable-options --persist-doctests /tmp/foobar main.rs
Couldn't create directory for doctest executables: Permission denied (os error 13)
This commit is contained in:
Guillaume Gomez 2022-07-01 23:39:10 +02:00 committed by GitHub
commit 00d68a7890
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 2 deletions

View File

@ -1003,8 +1003,10 @@ impl Tester for Collector {
let outdir = if let Some(mut path) = rustdoc_options.persist_doctests.clone() {
path.push(&test_id);
std::fs::create_dir_all(&path)
.expect("Couldn't create directory for doctest executables");
if let Err(err) = std::fs::create_dir_all(&path) {
eprintln!("Couldn't create directory for doctest executables: {}", err);
panic::resume_unwind(box ());
}
DirState::Perm(path)
} else {

View File

@ -0,0 +1,10 @@
// compile-flags: --test --persist-doctests /../../ -Z unstable-options
// failure-status: 101
// only-linux
#![crate_name = "foo"]
//! ```rust
//! use foo::dummy;
//! dummy();
//! ```

View File

@ -0,0 +1 @@
Couldn't create directory for doctest executables: Permission denied (os error 13)