133 lines
2.7 KiB
Bash
133 lines
2.7 KiB
Bash
#!/bin/sh
|
|
|
|
export TMPDIR=$HOME/tmp
|
|
|
|
fatal()
|
|
{
|
|
echo $*;exit 1
|
|
}
|
|
|
|
rerootResults()
|
|
{
|
|
savedcd=`pwd`
|
|
dirs=`ls -F | grep / | grep -v CVS | grep -v non-auto | grep -v config`
|
|
for dir in $dirs ; do
|
|
cd $dir
|
|
resfile=`basename $dir`.txt
|
|
sed -i.bak \
|
|
-e "s!file:///.*/testrecoll/!file://$RECOLL_TESTDATA/!g" \
|
|
$resfile
|
|
cd ..
|
|
done
|
|
|
|
cd $RECOLL_CONFDIR
|
|
sed -i.bak \
|
|
-e "s!/.*/testrecoll/!$RECOLL_TESTDATA/!g" \
|
|
mimemap
|
|
|
|
cd $savedcd
|
|
}
|
|
|
|
iscmd()
|
|
{
|
|
cmd=$1
|
|
case $cmd in
|
|
*/*)
|
|
if test -x $cmd -a ! -d $cmd ; then return 0; else return 1; fi ;;
|
|
*)
|
|
oldifs=$IFS; IFS=":"; set -- $PATH; IFS=$oldifs
|
|
for d in $*;do test -x $d/$cmd -a ! -d $d/$cmd && \
|
|
iscmdresult=$d/$cmd && return 0;done
|
|
return 1 ;;
|
|
esac
|
|
}
|
|
|
|
checkcmds()
|
|
{
|
|
result=0
|
|
for cmd in $*;do
|
|
if iscmd $cmd
|
|
then
|
|
echo $cmd is $iscmdresult
|
|
else
|
|
echo $cmd not found
|
|
result=1
|
|
fi
|
|
done
|
|
return $result
|
|
}
|
|
|
|
makeindex() {
|
|
echo "Zeroing Index"
|
|
rm -rf $RECOLL_CONFDIR/xapiandb $RECOLL_CONFDIR/aspdict.*.rws
|
|
rm -rf $RECOLL_CONFDIR/ocrcache
|
|
echo "Indexing"
|
|
recollindex -c $RECOLL_CONFDIR -z
|
|
}
|
|
|
|
if test ! -f shared.sh ; then
|
|
fatal must be run in the top test directory
|
|
fi
|
|
checkcmds recollq recollindex pxattr xadump pdftk || exit 1
|
|
|
|
iscmd pdftk
|
|
pdftk=$iscmdresult
|
|
tmpdir=${RECOLL_TMPDIR:-$TMPDIR}
|
|
case "$pdftk" in
|
|
/snap/*)
|
|
if test X$tmpdir = X -o "$tmpdir" = /tmp;then
|
|
fatal pdftk as snap need '$TMPDIR' to belong to you
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
if test ! x$reroot = x ; then
|
|
rerootResults
|
|
fi
|
|
|
|
# Temp directory for test results
|
|
# Make sure this is computed in the same way as in shared.sh
|
|
toptmp=${TMPDIR:-/tmp}/recolltsttmp
|
|
|
|
test X"$toptmp" = X && fatal "empty toptmp??"
|
|
test X"$toptmp" = X/ && fatal "toptmp == / ??"
|
|
if test -d "$toptmp" ; then
|
|
rm -rf $toptmp/*
|
|
fi
|
|
mkdir -p $toptmp || fatal cant create temp dir $toptmp
|
|
|
|
# Unset DISPLAY because xdg-mime may be affected by the desktop
|
|
# environment on the X server
|
|
unset DISPLAY
|
|
export LC_ALL=en_US.UTF-8
|
|
|
|
RECOLL_TESTS=`pwd`
|
|
RECOLL_TESTDATA=${RECOLL_TESTDATA:-/home/dockes/projets/fulltext/testrecoll}
|
|
export RECOLL_CONFDIR=$RECOLL_TESTS/config/
|
|
# Some test need to access RECOLL_TESTCACHEDIR
|
|
export RECOLL_TESTCACHEDIR=$toptmp
|
|
|
|
sed -e "s,@RECOLL_TESTS@,$RECOLL_TESTS,g" \
|
|
-e "s,@RECOLL_TESTDATA@,$RECOLL_TESTDATA,g" \
|
|
-e "s,@RECOLL_TESTCACHEDIR@,$RECOLL_TESTCACHEDIR,g" \
|
|
< $RECOLL_CONFDIR/recoll.conf.in \
|
|
> $RECOLL_CONFDIR/recoll.conf || exit 1
|
|
|
|
if test x$noindex = x ; then
|
|
makeindex
|
|
fi
|
|
|
|
|
|
dirs=`ls -F | grep / | grep -v CVS | grep -v non-auto | grep -v config`
|
|
|
|
echo
|
|
echo "Running query tests:"
|
|
|
|
for dir in $dirs ; do
|
|
cd $dir && echo -n "$dir "
|
|
sh `basename $dir`.sh
|
|
cd ..
|
|
done
|
|
|
|
echo
|