summaryrefslogtreecommitdiffstats
path: root/tests/run-make-fulldeps/rustdoc-map-file
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
commit64d98f8ee037282c35007b64c2649055c56af1db (patch)
tree5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /tests/run-make-fulldeps/rustdoc-map-file
parentAdding debian version 1.67.1+dfsg1-1. (diff)
downloadrustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz
rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/run-make-fulldeps/rustdoc-map-file')
-rw-r--r--tests/run-make-fulldeps/rustdoc-map-file/Makefile5
-rw-r--r--tests/run-make-fulldeps/rustdoc-map-file/expected.json5
-rw-r--r--tests/run-make-fulldeps/rustdoc-map-file/foo.rs16
-rwxr-xr-xtests/run-make-fulldeps/rustdoc-map-file/validate_json.py41
4 files changed, 67 insertions, 0 deletions
diff --git a/tests/run-make-fulldeps/rustdoc-map-file/Makefile b/tests/run-make-fulldeps/rustdoc-map-file/Makefile
new file mode 100644
index 000000000..5cbf7747a
--- /dev/null
+++ b/tests/run-make-fulldeps/rustdoc-map-file/Makefile
@@ -0,0 +1,5 @@
+include ../tools.mk
+
+all:
+ $(RUSTDOC) -Z unstable-options --generate-redirect-map foo.rs -o "$(TMPDIR)/out"
+ "$(PYTHON)" validate_json.py "$(TMPDIR)/out"
diff --git a/tests/run-make-fulldeps/rustdoc-map-file/expected.json b/tests/run-make-fulldeps/rustdoc-map-file/expected.json
new file mode 100644
index 000000000..6b1ccbeac
--- /dev/null
+++ b/tests/run-make-fulldeps/rustdoc-map-file/expected.json
@@ -0,0 +1,5 @@
+{
+ "foo/macro.foo!.html": "foo/macro.foo.html",
+ "foo/private/struct.Quz.html": "foo/struct.Quz.html",
+ "foo/hidden/struct.Bar.html": "foo/struct.Bar.html"
+}
diff --git a/tests/run-make-fulldeps/rustdoc-map-file/foo.rs b/tests/run-make-fulldeps/rustdoc-map-file/foo.rs
new file mode 100644
index 000000000..e12b9d229
--- /dev/null
+++ b/tests/run-make-fulldeps/rustdoc-map-file/foo.rs
@@ -0,0 +1,16 @@
+pub use private::Quz;
+pub use hidden::Bar;
+
+mod private {
+ pub struct Quz;
+}
+
+#[doc(hidden)]
+pub mod hidden {
+ pub struct Bar;
+}
+
+#[macro_export]
+macro_rules! foo {
+ () => {}
+}
diff --git a/tests/run-make-fulldeps/rustdoc-map-file/validate_json.py b/tests/run-make-fulldeps/rustdoc-map-file/validate_json.py
new file mode 100755
index 000000000..5c14c90b7
--- /dev/null
+++ b/tests/run-make-fulldeps/rustdoc-map-file/validate_json.py
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+
+import os
+import sys
+import json
+
+
+def find_redirect_map_file(folder, errors):
+ for root, dirs, files in os.walk(folder):
+ for name in files:
+ if not name.endswith("redirect-map.json"):
+ continue
+ with open(os.path.join(root, name)) as f:
+ data = json.load(f)
+ with open("expected.json") as f:
+ expected = json.load(f)
+ for key in expected:
+ if expected[key] != data.get(key):
+ errors.append("Expected `{}` for key `{}`, found: `{}`".format(
+ expected[key], key, data.get(key)))
+ else:
+ del data[key]
+ for key in data:
+ errors.append("Extra data not expected: key: `{}`, data: `{}`".format(
+ key, data[key]))
+ return True
+ return False
+
+
+if len(sys.argv) != 2:
+ print("Expected doc directory to check!")
+ sys.exit(1)
+
+errors = []
+if not find_redirect_map_file(sys.argv[1], errors):
+ print("Didn't find the map file in `{}`...".format(sys.argv[1]))
+ sys.exit(1)
+for err in errors:
+ print("=> {}".format(err))
+if len(errors) != 0:
+ sys.exit(1)