Rollup merge of #125401 - GuillaumeGomez:migrate-rustdoc-scrape-examples-macros, r=jieyouxu
Migrate `run-make/rustdoc-scrape-examples-macros` to `rmake.rs` Part of https://github.com/rust-lang/rust/issues/121876. r? `````@jieyouxu`````
This commit is contained in:
commit
72cc4de660
@ -227,7 +227,6 @@ run-make/rlib-format-packed-bundled-libs/Makefile
|
||||
run-make/rmeta-preferred/Makefile
|
||||
run-make/rustc-macro-dep-files/Makefile
|
||||
run-make/rustdoc-io-error/Makefile
|
||||
run-make/rustdoc-scrape-examples-macros/Makefile
|
||||
run-make/rustdoc-verify-output-files/Makefile
|
||||
run-make/rustdoc-with-output-option/Makefile
|
||||
run-make/rustdoc-with-short-out-dir-option/Makefile
|
||||
|
@ -1,19 +0,0 @@
|
||||
# ignore-cross-compile
|
||||
include ../../run-make/tools.mk
|
||||
|
||||
OUTPUT_DIR := "$(TMPDIR)/rustdoc"
|
||||
DYLIB_NAME := $(shell echo | $(RUSTC) --crate-name foobar_macro --crate-type dylib --print file-names -)
|
||||
|
||||
all:
|
||||
$(RUSTC) src/proc.rs --crate-name foobar_macro --edition=2021 --crate-type proc-macro --emit=dep-info,link
|
||||
|
||||
$(RUSTC) src/lib.rs --crate-name foobar --edition=2021 --crate-type lib --emit=dep-info,link
|
||||
|
||||
$(RUSTDOC) examples/ex.rs --crate-name ex --crate-type bin --output $(OUTPUT_DIR) \
|
||||
--extern foobar=$(TMPDIR)/libfoobar.rlib --extern foobar_macro=$(TMPDIR)/$(DYLIB_NAME) \
|
||||
-Z unstable-options --scrape-examples-output-path $(TMPDIR)/ex.calls --scrape-examples-target-crate foobar
|
||||
|
||||
$(RUSTDOC) src/lib.rs --crate-name foobar --crate-type lib --output $(OUTPUT_DIR) \
|
||||
-Z unstable-options --with-examples $(TMPDIR)/ex.calls
|
||||
|
||||
$(HTMLDOCCK) $(OUTPUT_DIR) src/lib.rs
|
64
tests/run-make/rustdoc-scrape-examples-macros/rmake.rs
Normal file
64
tests/run-make/rustdoc-scrape-examples-macros/rmake.rs
Normal file
@ -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());
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user