Add a rustdoc test
This is just a smoke test which verifies that the expected files are generated. Also makes the rmake tests have the right deps.
This commit is contained in:
parent
c33573440b
commit
5d45170b02
|
@ -920,14 +920,15 @@ $$(call TEST_OK_FILE,$(1),$(2),$(3),rmake): \
|
||||||
|
|
||||||
$(3)/test/run-make/%-$(1)-T-$(2)-H-$(3).ok: \
|
$(3)/test/run-make/%-$(1)-T-$(2)-H-$(3).ok: \
|
||||||
$(S)src/test/run-make/%/Makefile \
|
$(S)src/test/run-make/%/Makefile \
|
||||||
$$(HSREQ$(1)_H_$(3))
|
$$(CSREQ$(1)_T_$(2)_H_$(3))
|
||||||
@rm -rf $(3)/test/run-make/$$*
|
@rm -rf $(3)/test/run-make/$$*
|
||||||
@mkdir -p $(3)/test/run-make/$$*
|
@mkdir -p $(3)/test/run-make/$$*
|
||||||
@echo maketest: $$*
|
@echo maketest: $$*
|
||||||
$$(Q)$$(CFG_PYTHON) $(S)src/etc/maketest.py $$(dir $$<) \
|
$$(Q)$$(CFG_PYTHON) $(S)src/etc/maketest.py $$(dir $$<) \
|
||||||
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
|
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
|
||||||
$(3)/test/run-make/$$* \
|
$(3)/test/run-make/$$* \
|
||||||
"$$(CC_$(3)) $$(CFG_GCCISH_CFLAGS_$(3))"
|
"$$(CC_$(3)) $$(CFG_GCCISH_CFLAGS_$(3))" \
|
||||||
|
$$(HBIN$(1)_H_$(3))/rustdoc$$(X_$(3))
|
||||||
@touch $$@
|
@touch $$@
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -7,6 +7,7 @@ import sys
|
||||||
os.putenv('RUSTC', os.path.abspath(sys.argv[2]))
|
os.putenv('RUSTC', os.path.abspath(sys.argv[2]))
|
||||||
os.putenv('TMPDIR', os.path.abspath(sys.argv[3]))
|
os.putenv('TMPDIR', os.path.abspath(sys.argv[3]))
|
||||||
os.putenv('CC', sys.argv[4])
|
os.putenv('CC', sys.argv[4])
|
||||||
|
os.putenv('RUSTDOC', os.path.abspath(sys.argv[5]))
|
||||||
|
|
||||||
proc = subprocess.Popen(['make', '-C', sys.argv[1]],
|
proc = subprocess.Popen(['make', '-C', sys.argv[1]],
|
||||||
stdout = subprocess.PIPE,
|
stdout = subprocess.PIPE,
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
-include ../tools.mk
|
||||||
|
all:
|
||||||
|
$(RUSTDOC) -w html -o $(TMPDIR)/doc foo.rs
|
||||||
|
cp verify.sh $(TMPDIR)
|
||||||
|
$(call RUN,verify.sh) $(TMPDIR)
|
|
@ -0,0 +1,15 @@
|
||||||
|
#[pkgid = "foo#0.1"];
|
||||||
|
|
||||||
|
//! Very docs
|
||||||
|
|
||||||
|
pub mod bar {
|
||||||
|
|
||||||
|
/// So correct
|
||||||
|
pub mod baz {
|
||||||
|
/// Much detail
|
||||||
|
pub fn baz() { }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// *wow*
|
||||||
|
pub trait Doge { }
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# $1 is the TMPDIR
|
||||||
|
|
||||||
|
dirs="doc doc/foo doc/foo/bar doc/foo/bar/baz doc/src doc/src/foo"
|
||||||
|
|
||||||
|
for dir in $dirs; do if [ ! -d $1/$dir ]; then
|
||||||
|
echo "$1/$dir is not a directory!"
|
||||||
|
exit 1
|
||||||
|
fi done
|
||||||
|
|
||||||
|
files="doc/foo/index.html doc/foo/bar/index.html doc/foo/bar/baz/fn.baz.html doc/foo/bar/trait.Doge.html doc/src/foo/foo.rs.html"
|
||||||
|
|
||||||
|
for file in $files; do if [ ! -f $1/$file ]; then
|
||||||
|
echo "$1/$file is not a file!"
|
||||||
|
exit 1
|
||||||
|
fi done
|
Loading…
Reference in New Issue