Add full test for rustdoc map file
This commit is contained in:
parent
2b59e7667d
commit
1a7126b30b
4 changed files with 67 additions and 0 deletions
5
src/test/run-make-fulldeps/rustdoc-map-file/Makefile
Normal file
5
src/test/run-make-fulldeps/rustdoc-map-file/Makefile
Normal file
|
@ -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"
|
|
@ -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"
|
||||||
|
}
|
16
src/test/run-make-fulldeps/rustdoc-map-file/foo.rs
Normal file
16
src/test/run-make-fulldeps/rustdoc-map-file/foo.rs
Normal file
|
@ -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 {
|
||||||
|
() => {}
|
||||||
|
}
|
41
src/test/run-make-fulldeps/rustdoc-map-file/validate_json.py
Executable file
41
src/test/run-make-fulldeps/rustdoc-map-file/validate_json.py
Executable file
|
@ -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)
|
Loading…
Add table
Reference in a new issue