diff options
| author | Guillaume Gomez <guillaume.gomez@huawei.com> | 2024-05-22 11:47:32 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume.gomez@huawei.com> | 2024-05-22 11:49:21 +0200 |
| commit | fc76015dcb77ce86aa2df98c33a8e9cf36c16352 (patch) | |
| tree | 37cda3fbd49cf352cfcc79bfdd90d8321da7e398 /tests/run-make/rustdoc-scrape-examples-macros/rmake.rs | |
| parent | b54dd08a84f3c07efbc2aaf63c3df219ae680a03 (diff) | |
| download | rust-fc76015dcb77ce86aa2df98c33a8e9cf36c16352.tar.gz rust-fc76015dcb77ce86aa2df98c33a8e9cf36c16352.zip | |
Migrate `run-make/rustdoc-scrape-examples-macros` to `rmake.rs`
Diffstat (limited to 'tests/run-make/rustdoc-scrape-examples-macros/rmake.rs')
| -rw-r--r-- | tests/run-make/rustdoc-scrape-examples-macros/rmake.rs | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/run-make/rustdoc-scrape-examples-macros/rmake.rs b/tests/run-make/rustdoc-scrape-examples-macros/rmake.rs new file mode 100644 index 00000000000..81b7defafc6 --- /dev/null +++ b/tests/run-make/rustdoc-scrape-examples-macros/rmake.rs @@ -0,0 +1,64 @@ +//@ ignore-cross-compile + +use run_make_support::{htmldocck, rustc, rustdoc, tmp_dir}; + +fn main() { + let tmp_dir = tmp_dir(); + let out_dir = tmp_dir.join("rustdoc"); + let ex_dir = tmp_dir.join("ex.calls"); + let proc_crate_name = "foobar_macro"; + let crate_name = "foobar"; + + let dylib_name = String::from_utf8( + rustc() + .crate_name(proc_crate_name) + .crate_type("dylib") + .arg("--print") + .arg("file-names") + .arg("-") + .command_output() + .stdout, + ) + .unwrap(); + + rustc() + .input("src/proc.rs") + .crate_name(proc_crate_name) + .edition("2021") + .crate_type("proc-macro") + .emit("dep-info,link") + .run(); + rustc() + .input("src/lib.rs") + .crate_name(crate_name) + .edition("2021") + .crate_type("lib") + .emit("dep-info,link") + .run(); + + rustdoc() + .input("examples/ex.rs") + .crate_name("ex") + .crate_type("bin") + .output(&out_dir) + .extern_(crate_name, tmp_dir.join(format!("lib{crate_name}.rlib"))) + .extern_(proc_crate_name, tmp_dir.join(dylib_name.trim())) + .arg("-Zunstable-options") + .arg("--scrape-examples-output-path") + .arg(&ex_dir) + .arg("--scrape-examples-target-crate") + .arg(crate_name) + .run(); + + rustdoc() + .input("src/lib.rs") + .crate_name(crate_name) + .crate_type("lib") + .output(&out_dir) + .arg("-Zunstable-options") + .arg("--with-examples") + .arg(&ex_dir) + .run(); + + assert!(htmldocck().arg(out_dir).arg("src/lib.rs").status().unwrap().success()); +} |
