about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCorey Richardson <corey@octayn.net>2013-12-17 12:05:36 -0500
committerCorey Richardson <corey@octayn.net>2013-12-18 15:21:30 -0500
commit5d45170b02fc3055f9a80d06f7ab1f508c8de98f (patch)
treee54ba4365ebf9fcc4787509b2b1b26d3f15b625b
parentc33573440b61acf154a1cee55413d02f9835c9aa (diff)
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.
-rw-r--r--mk/tests.mk5
-rw-r--r--src/etc/maketest.py1
-rw-r--r--src/test/run-make/rustdoc-smoke/Makefile5
-rw-r--r--src/test/run-make/rustdoc-smoke/foo.rs15
-rwxr-xr-xsrc/test/run-make/rustdoc-smoke/verify.sh17
5 files changed, 41 insertions, 2 deletions
diff --git a/mk/tests.mk b/mk/tests.mk
index f266a8975b4..b026055ab25 100644
--- a/mk/tests.mk
+++ b/mk/tests.mk
@@ -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
diff --git a/src/etc/maketest.py b/src/etc/maketest.py
index 96c658e5686..00d80e1bf4d 100644
--- a/src/etc/maketest.py
+++ b/src/etc/maketest.py
@@ -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,
diff --git a/src/test/run-make/rustdoc-smoke/Makefile b/src/test/run-make/rustdoc-smoke/Makefile
new file mode 100644
index 00000000000..0de678e7248
--- /dev/null
+++ b/src/test/run-make/rustdoc-smoke/Makefile
@@ -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)
diff --git a/src/test/run-make/rustdoc-smoke/foo.rs b/src/test/run-make/rustdoc-smoke/foo.rs
new file mode 100644
index 00000000000..7a86bf4d1e8
--- /dev/null
+++ b/src/test/run-make/rustdoc-smoke/foo.rs
@@ -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 { }
+}
diff --git a/src/test/run-make/rustdoc-smoke/verify.sh b/src/test/run-make/rustdoc-smoke/verify.sh
new file mode 100755
index 00000000000..18f3939794e
--- /dev/null
+++ b/src/test/run-make/rustdoc-smoke/verify.sh
@@ -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