function check_valgrind_log () { if [ "$VALGRIND" != "" ]; then if [ -f $TEMPDIR/test.pid* ]; then
log=`ls $TEMPDIR/test.pid*` if ! grep -q 'ERROR SUMMARY: 0 error' $log; then echo"Fail in $NAME $1 checking detected by Valgrind" echo"$log Valgrind log file moved to $TEMPDIR/badlogs"
mv $log $TEMPDIR/badlogs
exit 1 fi if grep -q 'LEAK SUMMARY' $log; then echo"Memory leak in $NAME $1 checking detected by Valgrind" echo"$log Valgrind log file moved to $TEMPDIR/badlogs"
mv $log $TEMPDIR/badlogs
exit 1 fi rm -f $log fi fi
}
alias hunspell='../libtool --mode=execute -dlopen ../src/hunspell/.libs/libhunspell*.la ../src/tools/hunspell'
alias analyze='../libtool --mode=execute -dlopen ../src/hunspell/.libs/libhunspell*.la ../src/tools/analyze'
if [ "$VALGRIND" != "" ]; then rm -f $TEMPDIR/test.pid* if [ ! -d $TEMPDIR/badlogs ]; then
mkdir $TEMPDIR/badlogs fi
alias hunspell='../libtool --mode=execute -dlopen ../src/hunspell/.libs/libhunspell*.la valgrind --tool=$VALGRIND --leak-check=yes --show-reachable=yes --log-file=$TEMPDIR/test.pid ../src/tools/hunspell'
alias analyze='../libtool --mode=execute -dlopen ../src/hunspell/.libs/libhunspell*.la valgrind --tool=$VALGRIND --leak-check=yes --show-reachable=yes --log-file=$TEMPDIR/test.pid ../src/tools/analyze' fi
# Tests good words if test -f $TESTDIR/$NAME.good; then
hunspell -l $* -d $TESTDIR/$NAME <$TESTDIR/$NAME.good >$TEMPDIR/$NAME.good if test -s $TEMPDIR/$NAME.good; then echo"=============================================" echo"Fail in $NAME.good. Good words recognised as wrong:" cat $TEMPDIR/$NAME.good rm -f $TEMPDIR/$NAME.good
exit 1 fi rm -f $TEMPDIR/$NAME.good fi
check_valgrind_log "good words"
# Tests bad words if test -f $TESTDIR/$NAME.wrong; then
hunspell -l $* -d $TESTDIR/$NAME <$TESTDIR/$NAME.wrong >$TEMPDIR/$NAME.wrong
tr -d ' ' <$TESTDIR/$NAME.wrong >$TEMPDIR/$NAME.wrong.detab if ! cmp $TEMPDIR/$NAME.wrong $TEMPDIR/$NAME.wrong.detab >/dev/null; then echo"=============================================" echo"Fail in $NAME.wrong. Bad words recognised as good:"
tr -d ' ' <$TESTDIR/$NAME.wrong >$TEMPDIR/$NAME.wrong.detab
diff $TEMPDIR/$NAME.wrong.detab $TEMPDIR/$NAME.wrong | grep '^<' | sed 's/^..//' rm -f $TEMPDIR/$NAME.wrong $TEMPDIR/$NAME.wrong.detab
exit 1 fi rm -f $TEMPDIR/$NAME.wrong $TEMPDIR/$NAME.wrong.detab fi
check_valgrind_log "bad words"
# Tests morphological analysis if test -f $TESTDIR/$NAME.morph; then
sed 's/ $//' $TESTDIR/$NAME.good >$TEMPDIR/$NAME.good
analyze $TESTDIR/$NAME.aff $TESTDIR/$NAME.dic $TEMPDIR/$NAME.good >$TEMPDIR/$NAME.morph if ! cmp $TEMPDIR/$NAME.morph $TESTDIR/$NAME.morph >/dev/null; then echo"=============================================" echo"Fail in $NAME.morph. Bad analysis?"
diff $TESTDIR/$NAME.morph $TEMPDIR/$NAME.morph | grep '^<' | sed 's/^..//' rm -f $TEMPDIR/$NAME.morph
exit 1 fi rm -f $TEMPDIR/$NAME.{morph,good} fi
check_valgrind_log "morphological analysis"
# Tests suggestions if test -f $TESTDIR/$NAME.sug; then
hunspell $* -a -d $TESTDIR/$NAME <$TESTDIR/$NAME.wrong | grep '^&' | \
sed 's/^[^:]*: //' >$TEMPDIR/$NAME.sug if ! cmp $TEMPDIR/$NAME.sug $TESTDIR/$NAME.sug >/dev/null; then echo"=============================================" echo"Fail in $NAME.sug. Bad suggestion?"
diff $TESTDIR/$NAME.sug $TEMPDIR/$NAME.sug rm -f $TEMPDIR/$NAME.sug
exit 1 fi rm -f $TEMPDIR/$NAME.sug fi
check_valgrind_log "suggestion"
Messung V0.5
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.