auto merge of #11032 : cmr/rust/rustdoc_test, r=alexcrichton
This is just a smoke test which verifies that the expected files are generated.
This commit is contained in:
commit
b6933f8d8b
@ -920,14 +920,15 @@ $$(call TEST_OK_FILE,$(1),$(2),$(3),rmake): \
|
||||
|
||||
$(3)/test/run-make/%-$(1)-T-$(2)-H-$(3).ok: \
|
||||
$(S)src/test/run-make/%/Makefile \
|
||||
$$(HSREQ$(1)_H_$(3))
|
||||
$$(CSREQ$(1)_T_$(2)_H_$(3))
|
||||
@rm -rf $(3)/test/run-make/$$*
|
||||
@mkdir -p $(3)/test/run-make/$$*
|
||||
@echo maketest: $$*
|
||||
$$(Q)$$(CFG_PYTHON) $(S)src/etc/maketest.py $$(dir $$<) \
|
||||
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
|
||||
$(3)/test/run-make/$$* \
|
||||
"$$(CC_$(3)) $$(CFG_GCCISH_CFLAGS_$(3))"
|
||||
"$$(CC_$(3)) $$(CFG_GCCISH_CFLAGS_$(3))" \
|
||||
$$(HBIN$(1)_H_$(3))/rustdoc$$(X_$(3))
|
||||
@touch $$@
|
||||
|
||||
endef
|
||||
|
@ -7,6 +7,7 @@ import sys
|
||||
os.putenv('RUSTC', os.path.abspath(sys.argv[2]))
|
||||
os.putenv('TMPDIR', os.path.abspath(sys.argv[3]))
|
||||
os.putenv('CC', sys.argv[4])
|
||||
os.putenv('RUSTDOC', os.path.abspath(sys.argv[5]))
|
||||
|
||||
proc = subprocess.Popen(['make', '-C', sys.argv[1]],
|
||||
stdout = subprocess.PIPE,
|
||||
|
@ -678,7 +678,13 @@ impl Context {
|
||||
// using a rwarc makes this parallelizable in the future
|
||||
local_data::set(cache_key, Arc::new(cache));
|
||||
|
||||
self.item(item);
|
||||
let mut work = ~[(self, item)];
|
||||
while work.len() > 0 {
|
||||
let (mut cx, item) = work.pop();
|
||||
cx.item(item, |cx, item| {
|
||||
work.push((cx.clone(), item));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/// Non-parellelized version of rendering an item. This will take the input
|
||||
@ -686,7 +692,7 @@ impl Context {
|
||||
/// all sub-items which need to be rendered.
|
||||
///
|
||||
/// The rendering driver uses this closure to queue up more work.
|
||||
fn item(&mut self, item: clean::Item) {
|
||||
fn item(&mut self, item: clean::Item, f: |&mut Context, clean::Item|) {
|
||||
fn render(w: io::File, cx: &mut Context, it: &clean::Item,
|
||||
pushname: bool) {
|
||||
info!("Rendering an item to {}", w.path().display());
|
||||
@ -733,7 +739,7 @@ impl Context {
|
||||
};
|
||||
this.sidebar = build_sidebar(&m);
|
||||
for item in m.items.move_iter() {
|
||||
this.item(item);
|
||||
f(this,item);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
5
src/test/run-make/rustdoc-smoke/Makefile
Normal file
5
src/test/run-make/rustdoc-smoke/Makefile
Normal file
@ -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)
|
15
src/test/run-make/rustdoc-smoke/foo.rs
Normal file
15
src/test/run-make/rustdoc-smoke/foo.rs
Normal file
@ -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 { }
|
||||
}
|
17
src/test/run-make/rustdoc-smoke/verify.sh
Executable file
17
src/test/run-make/rustdoc-smoke/verify.sh
Executable file
@ -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
Block a user