From 95bf7b7dacca320d0965e3f9052ecbb9c4fc59bd Mon Sep 17 00:00:00 2001
From: Andy Russell <arussell123@gmail.com>
Date: Fri, 3 Jul 2020 11:22:33 -0400
Subject: [PATCH] add regression test for #61216

Fixes #61216.
---
 .../rustdoc-determinism/Makefile                 | 16 ++++++++++++++++
 .../run-make-fulldeps/rustdoc-determinism/bar.rs |  1 +
 .../run-make-fulldeps/rustdoc-determinism/foo.rs |  1 +
 3 files changed, 18 insertions(+)
 create mode 100644 src/test/run-make-fulldeps/rustdoc-determinism/Makefile
 create mode 100644 src/test/run-make-fulldeps/rustdoc-determinism/bar.rs
 create mode 100644 src/test/run-make-fulldeps/rustdoc-determinism/foo.rs

diff --git a/src/test/run-make-fulldeps/rustdoc-determinism/Makefile b/src/test/run-make-fulldeps/rustdoc-determinism/Makefile
new file mode 100644
index 0000000000000..0534c2c383145
--- /dev/null
+++ b/src/test/run-make-fulldeps/rustdoc-determinism/Makefile
@@ -0,0 +1,16 @@
+-include ../tools.mk
+
+# Assert that the search index is generated deterministically, regardless of the
+# order that crates are documented in.
+
+# ignore-windows
+# Uses `diff`.
+
+all:
+	$(RUSTDOC) foo.rs -o $(TMPDIR)/foo_first
+	$(RUSTDOC) bar.rs -o $(TMPDIR)/foo_first
+
+	$(RUSTDOC) bar.rs -o $(TMPDIR)/bar_first
+	$(RUSTDOC) foo.rs -o $(TMPDIR)/bar_first
+
+	diff $(TMPDIR)/foo_first/search-index.js $(TMPDIR)/bar_first/search-index.js
diff --git a/src/test/run-make-fulldeps/rustdoc-determinism/bar.rs b/src/test/run-make-fulldeps/rustdoc-determinism/bar.rs
new file mode 100644
index 0000000000000..ca05a6a9076c2
--- /dev/null
+++ b/src/test/run-make-fulldeps/rustdoc-determinism/bar.rs
@@ -0,0 +1 @@
+pub struct Bar;
diff --git a/src/test/run-make-fulldeps/rustdoc-determinism/foo.rs b/src/test/run-make-fulldeps/rustdoc-determinism/foo.rs
new file mode 100644
index 0000000000000..4a835673a596b
--- /dev/null
+++ b/src/test/run-make-fulldeps/rustdoc-determinism/foo.rs
@@ -0,0 +1 @@
+pub struct Foo;