zulip/tools/test-documentation

43 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
case $1 in
-h|--help)
echo "--help, -h show this help message and exit"
echo "--loglevel=LEVEL, -L LEVEL log level (default: ERROR)"
exit 0
;;
-L|--loglevel)
loglevel="$1 $2"
;;
esac
cd "$(dirname "$0")"/../docs
rm -rf _build
# collapse_navigation is set to False in conf.py to improve sidebar navigation for users.
# However, we must change its value to True before we begin testing links.
# Otherwise, sphinx would generate a large number of links we don't need to test.
# The crawler would take a very long time to finish and TravisCI would fail as a result.
sphinx-build -j8 -b html -d _build/doctrees -D html_theme_options.collapse_navigation=True . _build/html
cd ../tools/documentation_crawler
echo -en "\033[0;94m"
echo "Testing links in documentation..."
echo -en "\033[0m"
set +e
scrapy crawl_with_status documentation_crawler $loglevel
result=$?
if [ "$result" = 1 ]; then
echo -en "\033[0;91m"
echo "Failed!"
echo -en "\033[0m"
exit 1
else
echo -en "\033[0;92m"
echo "Passed!"
echo -en "\033[0m"
exit 0
fi