about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPatrick Conrad <patrick.conrad@cherishhealth.com>2021-08-25 12:03:41 -0400
committerPatrick Conrad <patrick.conrad@cherishhealth.com>2021-08-25 12:21:56 -0400
commit785309b8b19601e3cf38955c0cbedcd682c7487b (patch)
tree7d6f1d0aa16a18e16b3b4a0385c1263be431d5e7
parent4b45bb92cbb33d17b7d2b86bb81bad6963e53b48 (diff)
downloadrust-785309b8b19601e3cf38955c0cbedcd682c7487b.tar.gz
rust-785309b8b19601e3cf38955c0cbedcd682c7487b.zip
Add make tests for preserving test binaries
fix: #88110
-rw-r--r--src/test/run-make/doctests-keep-binaries/Makefile21
-rw-r--r--src/test/run-make/doctests-keep-binaries/t.rs11
2 files changed, 32 insertions, 0 deletions
diff --git a/src/test/run-make/doctests-keep-binaries/Makefile b/src/test/run-make/doctests-keep-binaries/Makefile
new file mode 100644
index 00000000000..273c8980b02
--- /dev/null
+++ b/src/test/run-make/doctests-keep-binaries/Makefile
@@ -0,0 +1,21 @@
+include ../../run-make-fulldeps/tools.mk
+
+# Check that valid binaries are persisted by running them, regardless of whether the --run or --no-run option is used.
+
+all: run no_run
+
+run:
+	mkdir -p $(TMPDIR)/doctests
+	$(RUSTC) --crate-type rlib t.rs
+	$(RUSTDOC) -Zunstable-options --test --persist-doctests $(TMPDIR)/doctests --extern t=$(TMPDIR)/libt.rlib t.rs
+	$(TMPDIR)/doctests/t_rs_2_0/rust_out
+	$(TMPDIR)/doctests/t_rs_8_0/rust_out
+	rm -rf $(TMPDIR)/doctests
+
+no_run:
+	mkdir -p $(TMPDIR)/doctests
+	$(RUSTC) --crate-type rlib t.rs
+	$(RUSTDOC) -Zunstable-options --test --persist-doctests $(TMPDIR)/doctests --extern t=$(TMPDIR)/libt.rlib t.rs --no-run
+	$(TMPDIR)/doctests/t_rs_2_0/rust_out
+	$(TMPDIR)/doctests/t_rs_8_0/rust_out
+	rm -rf $(TMPDIR)/doctests
diff --git a/src/test/run-make/doctests-keep-binaries/t.rs b/src/test/run-make/doctests-keep-binaries/t.rs
new file mode 100644
index 00000000000..c38cf0a0b25
--- /dev/null
+++ b/src/test/run-make/doctests-keep-binaries/t.rs
@@ -0,0 +1,11 @@
+/// Fungle the foople.
+/// ```
+/// t::foople();
+/// ```
+pub fn foople() {}
+
+/// Flomble the florp
+/// ```
+/// t::florp();
+/// ```
+pub fn florp() {}