From 64d98f8ee037282c35007b64c2649055c56af1db Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Wed, 17 Apr 2024 14:19:03 +0200
Subject: Merging upstream version 1.68.2+dfsg1.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 .../rustdoc-scrape-examples-multiple/Makefile       |  5 +++++
 .../rustdoc-scrape-examples-multiple/examples/ex.rs |  4 ++++
 .../examples/ex2.rs                                 |  3 +++
 .../rustdoc-scrape-examples-multiple/scrape.mk      | 21 +++++++++++++++++++++
 .../rustdoc-scrape-examples-multiple/src/lib.rs     |  6 ++++++
 5 files changed, 39 insertions(+)
 create mode 100644 tests/run-make/rustdoc-scrape-examples-multiple/Makefile
 create mode 100644 tests/run-make/rustdoc-scrape-examples-multiple/examples/ex.rs
 create mode 100644 tests/run-make/rustdoc-scrape-examples-multiple/examples/ex2.rs
 create mode 100644 tests/run-make/rustdoc-scrape-examples-multiple/scrape.mk
 create mode 100644 tests/run-make/rustdoc-scrape-examples-multiple/src/lib.rs

(limited to 'tests/run-make/rustdoc-scrape-examples-multiple')

diff --git a/tests/run-make/rustdoc-scrape-examples-multiple/Makefile b/tests/run-make/rustdoc-scrape-examples-multiple/Makefile
new file mode 100644
index 000000000..453a7d4bc
--- /dev/null
+++ b/tests/run-make/rustdoc-scrape-examples-multiple/Makefile
@@ -0,0 +1,5 @@
+deps := ex ex2
+
+include ./scrape.mk
+
+all: scrape
diff --git a/tests/run-make/rustdoc-scrape-examples-multiple/examples/ex.rs b/tests/run-make/rustdoc-scrape-examples-multiple/examples/ex.rs
new file mode 100644
index 000000000..01b730c61
--- /dev/null
+++ b/tests/run-make/rustdoc-scrape-examples-multiple/examples/ex.rs
@@ -0,0 +1,4 @@
+fn main() {
+    foobar::ok();
+    foobar::ok();
+}
diff --git a/tests/run-make/rustdoc-scrape-examples-multiple/examples/ex2.rs b/tests/run-make/rustdoc-scrape-examples-multiple/examples/ex2.rs
new file mode 100644
index 000000000..f83cf2f27
--- /dev/null
+++ b/tests/run-make/rustdoc-scrape-examples-multiple/examples/ex2.rs
@@ -0,0 +1,3 @@
+fn main() {
+    foobar::ok();
+}
diff --git a/tests/run-make/rustdoc-scrape-examples-multiple/scrape.mk b/tests/run-make/rustdoc-scrape-examples-multiple/scrape.mk
new file mode 100644
index 000000000..7a28d2145
--- /dev/null
+++ b/tests/run-make/rustdoc-scrape-examples-multiple/scrape.mk
@@ -0,0 +1,21 @@
+include ../../run-make-fulldeps/tools.mk
+
+OUTPUT_DIR := "$(TMPDIR)/rustdoc"
+
+$(TMPDIR)/%.calls: $(TMPDIR)/libfoobar.rmeta
+	$(RUSTDOC) examples/$*.rs --crate-name $* --crate-type bin --output $(OUTPUT_DIR) \
+	  --extern foobar=$(TMPDIR)/libfoobar.rmeta \
+		-Z unstable-options \
+		--scrape-examples-output-path $@ \
+		--scrape-examples-target-crate foobar \
+		$(extra_flags)
+
+$(TMPDIR)/lib%.rmeta: src/lib.rs
+	$(RUSTC) src/lib.rs --crate-name $* --crate-type lib --emit=metadata
+
+scrape: $(foreach d,$(deps),$(TMPDIR)/$(d).calls)
+	$(RUSTDOC) src/lib.rs --crate-name foobar --crate-type lib --output $(OUTPUT_DIR) \
+		-Z unstable-options \
+		$(foreach d,$(deps),--with-examples $(TMPDIR)/$(d).calls)
+
+	$(HTMLDOCCK) $(OUTPUT_DIR) src/lib.rs
diff --git a/tests/run-make/rustdoc-scrape-examples-multiple/src/lib.rs b/tests/run-make/rustdoc-scrape-examples-multiple/src/lib.rs
new file mode 100644
index 000000000..bdfeda92d
--- /dev/null
+++ b/tests/run-make/rustdoc-scrape-examples-multiple/src/lib.rs
@@ -0,0 +1,6 @@
+// @has foobar/fn.ok.html '//*[@class="docblock scraped-example-list"]//*[@class="prev"]' ''
+// @has foobar/fn.ok.html '//*[@class="more-scraped-examples"]' ''
+// @has src/ex/ex.rs.html
+// @has foobar/fn.ok.html '//a[@href="../src/ex/ex.rs.html#2"]' ''
+
+pub fn ok() {}
-- 
cgit v1.2.3