From 0db6f4cb57e6209dcd6e6d66732c190b652f6485 Mon Sep 17 00:00:00 2001 From: SiegeLord Date: Tue, 26 Aug 2014 22:03:39 -0400 Subject: [PATCH] Add a simple test for rustdoc search index contents --- .../run-make/rustdoc-search-index/Makefile | 17 ++++++++++ .../run-make/rustdoc-search-index/index.rs | 29 ++++++++++++++++ .../run-make/rustdoc-search-index/verify.sh | 33 +++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 src/test/run-make/rustdoc-search-index/Makefile create mode 100644 src/test/run-make/rustdoc-search-index/index.rs create mode 100755 src/test/run-make/rustdoc-search-index/verify.sh diff --git a/src/test/run-make/rustdoc-search-index/Makefile b/src/test/run-make/rustdoc-search-index/Makefile new file mode 100644 index 00000000000..1248f144a84 --- /dev/null +++ b/src/test/run-make/rustdoc-search-index/Makefile @@ -0,0 +1,17 @@ +-include ../tools.mk + +# FIXME ignore windows +ifndef IS_WINDOWS + +source=index.rs + +all: + $(HOST_RPATH_ENV) $(RUSTDOC) -w html -o $(TMPDIR)/doc $(source) + cp $(source) $(TMPDIR) + cp verify.sh $(TMPDIR) + $(call RUN,verify.sh) $(TMPDIR) + +else +all: + +endif diff --git a/src/test/run-make/rustdoc-search-index/index.rs b/src/test/run-make/rustdoc-search-index/index.rs new file mode 100644 index 00000000000..019d77f1b1c --- /dev/null +++ b/src/test/run-make/rustdoc-search-index/index.rs @@ -0,0 +1,29 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![crate_name = "rustdoc_test"] + +// In: Foo +pub use private::Foo; + +mod private { + pub struct Foo; + impl Foo { + // In: test_method + pub fn test_method() {} + // Out: priv_method + fn priv_method() {} + } + + pub trait PrivateTrait { + // Out: priv_method + fn trait_method() {} + } +} diff --git a/src/test/run-make/rustdoc-search-index/verify.sh b/src/test/run-make/rustdoc-search-index/verify.sh new file mode 100755 index 00000000000..af5033adf6b --- /dev/null +++ b/src/test/run-make/rustdoc-search-index/verify.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +source="$1/index.rs" +index="$1/doc/search-index.js" + +if ! [ -e $index ] +then + echo "Could not find the search index (looked for $index)" + exit 1 +fi + +ins=$(grep -o 'In: .*' $source | sed 's/In: \(.*\)/\1/g') +outs=$(grep -o 'Out: .*' $source | sed 's/Out: \(.*\)/\1/g') + +for p in $ins +do + if ! grep -q $p $index + then + echo "'$p' was erroneously excluded from search index." + exit 1 + fi +done + +for p in $outs +do + if grep -q $p $index + then + echo "'$p' was erroneously included in search index." + exit 1 + fi +done + +exit 0