diff --git a/tests/alternative_backends.rs b/tests/alternative_backends.rs index f787c862..6410f9da 100644 --- a/tests/alternative_backends.rs +++ b/tests/alternative_backends.rs @@ -6,15 +6,6 @@ use std::fs; use std::path::Path; use tempfile::{Builder as TempFileBuilder, TempDir}; -#[test] -fn missing_backends_are_fatal() { - let (md, _temp) = dummy_book_with_backend("missing", "trduyvbhijnorgevfuhn", false); - let got = md.build(); - assert!(got.is_err()); - let error_message = got.err().unwrap().to_string(); - assert_eq!(error_message, "Rendering failed"); -} - #[test] fn missing_optional_backends_are_not_fatal() { let (md, _temp) = dummy_book_with_backend("missing", "trduyvbhijnorgevfuhn", true); diff --git a/tests/testsuite/renderer.rs b/tests/testsuite/renderer.rs index 98be19c9..8732a6c6 100644 --- a/tests/testsuite/renderer.rs +++ b/tests/testsuite/renderer.rs @@ -72,3 +72,22 @@ fn failing_command() { "#]]); }); } + +// Renderer command is missing. +#[test] +fn missing_renderer() { + BookTest::from_dir("renderer/missing_renderer").run("build", |cmd| { + cmd.expect_failure() + .expect_stdout(str![[""]]) + .expect_stderr(str![[r#" +[TIMESTAMP] [INFO] (mdbook::book): Book building has started +[TIMESTAMP] [INFO] (mdbook::book): Running the missing backend +[TIMESTAMP] [INFO] (mdbook::renderer): Invoking the "missing" renderer +[TIMESTAMP] [ERROR] (mdbook::renderer): The command `trduyvbhijnorgevfuhn` wasn't found, is the "missing" backend installed? If you want to ignore this error when the "missing" backend is not installed, set `optional = true` in the `[output.missing]` section of the book.toml configuration file. +[TIMESTAMP] [ERROR] (mdbook::utils): Error: Rendering failed +[TIMESTAMP] [ERROR] (mdbook::utils): [TAB]Caused By: Unable to start the backend +[TIMESTAMP] [ERROR] (mdbook::utils): [TAB]Caused By: [NOT_FOUND] + +"#]]); + }); +} diff --git a/tests/testsuite/renderer/missing_renderer/book.toml b/tests/testsuite/renderer/missing_renderer/book.toml new file mode 100644 index 00000000..ddeac5d7 --- /dev/null +++ b/tests/testsuite/renderer/missing_renderer/book.toml @@ -0,0 +1,3 @@ +[output.missing] +command = "trduyvbhijnorgevfuhn" + diff --git a/tests/testsuite/renderer/missing_renderer/src/SUMMARY.md b/tests/testsuite/renderer/missing_renderer/src/SUMMARY.md new file mode 100644 index 00000000..e69de29b