#!/bin/sh
if [ $# -ne 0 ]; then
DOCDIRS="$*"
elif [ -f wrapper.tex ]; then
DOCDIRS="."
elif [ -f docdirs ]; then
DOCDIRS=`cat docdirs`
else
DOCDIRS=""
fi
orig_inputs="$LATEX_CONV_INPUTS"
LATEX_CONV_INPUTS="../../examples:../../demo:$LATEX_CONV_INPUTS"
export LATEX_CONV_INPUTS
grep_html_files_for_bad_characters()
{
echo "**************************************" >> $TO_HTML_LOG
echo "Results of grep for errant backslashes" >> $TO_HTML_LOG
echo "**************************************" >> $TO_HTML_LOG
if grep '\\[^n]' $HTML_TEST_DIR/*.html >> $TO_HTML_LOG ; then
ERROR=1
echo
echo "cc_manual_to_html of $DIR/$SUBDIR FAILED: backslashes"
fi
}
grep_log_for_error_messages()
{
if grep "rror" $TO_HTML_LOG > /dev/null ; then
ERROR=1
echo
echo "cc_manual_to_html of $DIR/$SUBDIR FAILED: Error message"
fi
if grep "Unknown" $TO_HTML_LOG > /dev/null ; then
ERROR=1
echo
echo "cc_manual_to_html of $DIR/$SUBDIR FAILED: Unknown command"
fi
if grep "an't" $TO_HTML_LOG > /dev/null ; then
ERROR=1
echo
echo "cc_manual_to_html of $DIR/$SUBDIR FAILED: Can't find something"
fi
if grep "not found" $TO_HTML_LOG > /dev/null ; then
ERROR=1
echo
echo "cc_manual_to_html of $DIR/$SUBDIR FAILED: Something not found"
fi
}
for DIR in $DOCDIRS; do
cd $DIR
echo "test_html: Now in directory $DIR ..."
CURR_DIR=`pwd`
case "$CURR_DIR" in
*installation) TITLE="CGAL Installation Guide";;
*general) TITLE="CGAL Reference Manual - General Introduction";;
*kernel) TITLE="CGAL 2D & 3D Kernel Reference Manual";;
*kernel_d) TITLE="CGAL dD Kernel Reference Manual";;
*basic) TITLE="CGAL Basic Library Reference Manual";;
*support) TITLE="CGAL Support Library Reference Manual";;
*use_of_stl) TITLE="The Use of STL and STL Extensions in CGAL";;
*) echo "UNKNOWN manual part; title will be CGAL Reference
Manual";
TITLE="CGAL Reference Manual";;
esac
if [ -d html_test ] ; then
mv html_test html_test.bck
fi
mkdir html_test
ERROR=0
if [ -f docdirs ]; then
PASSED=""
FAILED=""
DOC_SUBDIRS=`cat docdirs`
for SUBDIR in $DOC_SUBDIRS; do
ERROR=0
echo
echo $SUBDIR
echo
LATEX_CONV_INPUTS=${SUBDIR}:../../examples:../../demo:${orig_inputs}
export LATEX_CONV_INPUTS
HTML_TEST_DIR="html_test/$SUBDIR"
TO_HTML_LOG="$SUBDIR/to_html.log"
if [ $SUBDIR != "Title" ]; then
if [ -f $SUBDIR/html_wrapper ]; then
/bin/rm -f $TO_HTML_LOG
echo "*********************" > $TO_HTML_LOG
echo "cc_manual_to_html log" >> $TO_HTML_LOG
echo "*********************" >> $TO_HTML_LOG
if [ $DIR = "basic" -o $DIR = "support" ]; then
cc_manual_to_html -author "The CGAL project" -date "`date +%b` `date +%e`, `date +%Y`" -title "$TITLE" -extended -header "../../../include" -o html_test user_part.tex $SUBDIR/html_wrapper -ref_manual ref_part.tex ${SUBDIR}/${SUBDIR}_ref/html_wrapper >> $TO_HTML_LOG 2>&1
else
cc_manual_to_html -author "The CGAL project" -date "`date +%b` `date +%e`, `date +%Y`" -title "$TITLE" -extended -header "../../../include" -o html_test $SUBDIR/html_wrapper >> $TO_HTML_LOG 2>&1
fi
grep_html_files_for_bad_characters
grep_log_for_error_messages
if [ $ERROR != 1 ] ; then
PASSED="$PASSED $SUBDIR"
else
FAILED="$FAILED $SUBDIR"
fi
echo >> $TO_HTML_LOG
echo "EOF" >> $TO_HTML_LOG
else
FAILED="$FAILED $SUBDIR"
echo
echo "HTML conversion of $SUBDIR FAILED: missing html_wrapper file!"
echo "HTML conversion of $SUBDIR FAILED: missing html_wrapper file!" >> $TO_HTML_LOG
fi
mv $TO_HTML_LOG html_test/$SUBDIR
fi
done
cp Title/title.html html_test
echo $PASSED > docdirs_passed_html
echo $FAILED > docdirs_failed_html
else
TO_HTML_LOG="html_test/to_html.log"
HTML_TEST_DIR="html_test"
SUBDIR=""
echo "*********************" > $TO_HTML_LOG
echo "cc_manual_to_html log" >> $TO_HTML_LOG
echo "*********************" >> $TO_HTML_LOG
cc_manual_to_html -author "The GALIA project" -date "`date +%b` `date +%e`, `date +%Y`" -header "../../../include" -o html_test wrapper.tex >> $TO_HTML_LOG 2>&1
grep_html_files_for_bad_characters
grep_log_for_error_messages
echo >> $TO_HTML_LOG
echo "EOF" >> $TO_HTML_LOG
cp title.html html_test
fi
if [ -d html_test -a -r html_test/contents.html -a -d html_test.bck ]; then
rm -rf html_test.bck
fi
echo "test_html: ...leaving directory $DIR"
cd ..
done