about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2021-04-05 15:48:42 +0200
committerGitHub <noreply@github.com>2021-04-05 15:48:42 +0200
commita766d63b2db1d6d24aa447244a8f997e7e619f99 (patch)
treeac4109562adbf3e91dd11a1bfff2827535b2af0e
parent335a3c4b7f5b64f7c0e3c86db8fa7989fb6a4771 (diff)
parent29eb6860a8104f01ad4bac2b5560d9d66af14a99 (diff)
downloadrust-a766d63b2db1d6d24aa447244a8f997e7e619f99.tar.gz
rust-a766d63b2db1d6d24aa447244a8f997e7e619f99.zip
Rollup merge of #83705 - jyn514:theme-error, r=GuillaumeGomez
Give a better error when --theme is not a CSS file

Before:

```
error: invalid argument: "bacon.toml"
```

After:
```
error: invalid argument: "bacon.toml"
  |
  = help: arguments to --theme must be CSS files
```

cc https://github.com/rust-lang/rust/pull/83478
-rw-r--r--src/librustdoc/config.rs4
-rw-r--r--src/test/rustdoc-ui/invalid-theme-name.rs3
-rw-r--r--src/test/rustdoc-ui/invalid-theme-name.stderr4
-rw-r--r--src/tools/compiletest/src/runtest.rs3
4 files changed, 11 insertions, 3 deletions
diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs
index 5e9cfe148f1..821675bb9f5 100644
--- a/src/librustdoc/config.rs
+++ b/src/librustdoc/config.rs
@@ -484,7 +484,9 @@ impl Options {
                     return Err(1);
                 }
                 if theme_file.extension() != Some(OsStr::new("css")) {
-                    diag.struct_err(&format!("invalid argument: \"{}\"", theme_s)).emit();
+                    diag.struct_err(&format!("invalid argument: \"{}\"", theme_s))
+                        .help("arguments to --theme must have a .css extension")
+                        .emit();
                     return Err(1);
                 }
                 let (success, ret) = theme::test_theme_against(&theme_file, &paths, &diag);
diff --git a/src/test/rustdoc-ui/invalid-theme-name.rs b/src/test/rustdoc-ui/invalid-theme-name.rs
new file mode 100644
index 00000000000..c22ebf02718
--- /dev/null
+++ b/src/test/rustdoc-ui/invalid-theme-name.rs
@@ -0,0 +1,3 @@
+// compile-flags:--theme {{src-base}}/invalid-theme-name.rs
+// error-pattern: invalid argument
+// error-pattern: must have a .css extension
diff --git a/src/test/rustdoc-ui/invalid-theme-name.stderr b/src/test/rustdoc-ui/invalid-theme-name.stderr
new file mode 100644
index 00000000000..80204442dbe
--- /dev/null
+++ b/src/test/rustdoc-ui/invalid-theme-name.stderr
@@ -0,0 +1,4 @@
+error: invalid argument: "$DIR/invalid-theme-name.rs"
+   |
+   = help: arguments to --theme must have a .css extension
+
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
index a2a53c16b78..c2684bb4af3 100644
--- a/src/tools/compiletest/src/runtest.rs
+++ b/src/tools/compiletest/src/runtest.rs
@@ -1909,8 +1909,7 @@ impl<'test> TestCx<'test> {
         } else {
             Command::new(&self.config.rustdoc_path.clone().expect("no rustdoc built yet"))
         };
-        // FIXME Why is -L here?
-        rustc.arg(input_file); //.arg("-L").arg(&self.config.build_base);
+        rustc.arg(input_file);
 
         // Use a single thread for efficiency and a deterministic error message order
         rustc.arg("-Zthreads=1");