about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorpinkforest <36498018+pinkforest@users.noreply.github.com>2022-06-30 20:31:02 +1000
committerpinkforest <36498018+pinkforest@users.noreply.github.com>2022-07-01 05:16:37 +1000
commit6565509c19ec3f143c917335aa0f23b073ad1f0a (patch)
treee7604a53d7e0c879d67fbf83d99cdf1fa3534160 /src
parent7b68106ffb71f853ea32f0e0dc0785d9d647cbbf (diff)
downloadrust-6565509c19ec3f143c917335aa0f23b073ad1f0a.tar.gz
rust-6565509c19ec3f143c917335aa0f23b073ad1f0a.zip
rustdoc: fix 98690
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/doctest.rs6
-rw-r--r--src/test/rustdoc-ui/issue-98690.rs10
-rw-r--r--src/test/rustdoc-ui/issue-98690.stderr1
3 files changed, 15 insertions, 2 deletions
diff --git a/src/librustdoc/doctest.rs b/src/librustdoc/doctest.rs
index ab72f4a3f50..509c4253f0f 100644
--- a/src/librustdoc/doctest.rs
+++ b/src/librustdoc/doctest.rs
@@ -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 {
diff --git a/src/test/rustdoc-ui/issue-98690.rs b/src/test/rustdoc-ui/issue-98690.rs
new file mode 100644
index 00000000000..fe9bd87ab28
--- /dev/null
+++ b/src/test/rustdoc-ui/issue-98690.rs
@@ -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();
+//! ```
diff --git a/src/test/rustdoc-ui/issue-98690.stderr b/src/test/rustdoc-ui/issue-98690.stderr
new file mode 100644
index 00000000000..47d94f99a45
--- /dev/null
+++ b/src/test/rustdoc-ui/issue-98690.stderr
@@ -0,0 +1 @@
+Couldn't create directory for doctest executables: Permission denied (os error 13)