| // Tests behavior of rustdoc `--runtool`. |
| |
| use std::path::PathBuf; |
| |
| use run_make_support::rfs::{create_dir, remove_dir_all}; |
| use run_make_support::{rustc, rustdoc}; |
| |
| fn mkdir(name: &str) -> PathBuf { |
| let dir = PathBuf::from(name); |
| create_dir(&dir); |
| dir |
| } |
| |
| // Behavior with --runtool with relative paths and --test-run-directory. |
| fn main() { |
| let run_dir_name = "rundir"; |
| let run_dir = mkdir(run_dir_name); |
| let run_tool = mkdir("runtool"); |
| let run_tool_binary = run_tool.join("runtool"); |
| |
| rustc().input("t.rs").crate_type("rlib").run(); |
| rustc().input("runtool.rs").output(&run_tool_binary).run(); |
| |
| rustdoc() |
| .input("t.rs") |
| .arg("-Zunstable-options") |
| .arg("--test") |
| .arg("--test-run-directory") |
| .arg(run_dir_name) |
| .arg("--runtool") |
| .arg(&run_tool_binary) |
| .extern_("t", "libt.rlib") |
| .run(); |
| |
| remove_dir_all(run_dir); |
| remove_dir_all(run_tool); |
| } |