As file timestamps have only one second granularity, an old cache file could easily be used when a test took less than 1 second to run. Just remove the cache directory and its contents before each test is run. Also, remove mention of the old cache file from the test config file.
93 lines
1.6 KiB
Bash
93 lines
1.6 KiB
Bash
#!/bin/sh
|
|
TESTDIR=${srcdir-`pwd`}
|
|
|
|
FONTDIR=`pwd`/fonts
|
|
CACHEDIR=`pwd`/cache.dir
|
|
|
|
ECHO=true
|
|
|
|
FCLIST=../fc-list/fc-list
|
|
FCCACHE=../fc-cache/fc-cache
|
|
|
|
FONT1=$TESTDIR/4x6.pcf
|
|
FONT2=$TESTDIR/8x16.pcf
|
|
|
|
check () {
|
|
$FCLIST - family pixelsize | sort > out
|
|
echo "=" >> out
|
|
$FCLIST - family pixelsize | sort >> out
|
|
echo "=" >> out
|
|
$FCLIST - family pixelsize | sort >> out
|
|
tr -d '\015' <out >out.tmp; mv out.tmp out
|
|
if cmp out $TESTDIR/out.expected > /dev/null ; then : ; else
|
|
echo "*** Test failed: $TEST"
|
|
echo "*** output is in 'out', expected output in 'out.expected'"
|
|
exit 1
|
|
fi
|
|
rm out
|
|
}
|
|
|
|
prep() {
|
|
rm -rf $CACHEDIR
|
|
rm -rf $FONTDIR
|
|
mkdir $FONTDIR
|
|
}
|
|
|
|
dotest () {
|
|
TEST=$1
|
|
test x$VERBOSE = x || echo Running: $TEST
|
|
}
|
|
|
|
sed "s!@FONTDIR@!$FONTDIR!
|
|
s!@CACHEDIR@!$CACHEDIR!" < $TESTDIR/fonts.conf.in > fonts.conf
|
|
|
|
FONTCONFIG_FILE=`pwd`/fonts.conf
|
|
export FONTCONFIG_FILE
|
|
|
|
dotest "Basic check"
|
|
prep
|
|
cp $FONT1 $FONT2 $FONTDIR
|
|
check
|
|
|
|
dotest "With a subdir"
|
|
prep
|
|
cp $FONT1 $FONT2 $FONTDIR
|
|
$FCCACHE $FONTDIR
|
|
check
|
|
|
|
dotest "Subdir with a cache file"
|
|
prep
|
|
mkdir $FONTDIR/a
|
|
cp $FONT1 $FONT2 $FONTDIR/a
|
|
$FCCACHE $FONTDIR/a
|
|
check
|
|
|
|
dotest "Complicated directory structure"
|
|
prep
|
|
mkdir $FONTDIR/a
|
|
mkdir $FONTDIR/a/a
|
|
mkdir $FONTDIR/b
|
|
mkdir $FONTDIR/b/a
|
|
cp $FONT1 $FONTDIR/a
|
|
cp $FONT2 $FONTDIR/b/a
|
|
check
|
|
|
|
dotest "Subdir with an out-of-date cache file"
|
|
prep
|
|
mkdir $FONTDIR/a
|
|
$FCCACHE $FONTDIR/a
|
|
sleep 1
|
|
cp $FONT1 $FONT2 $FONTDIR/a
|
|
check
|
|
|
|
dotest "Dir with an out-of-date cache file"
|
|
prep
|
|
cp $FONT1 $FONTDIR
|
|
$FCCACHE $FONTDIR
|
|
sleep 1
|
|
mkdir $FONTDIR/a
|
|
cp $FONT2 $FONTDIR/a
|
|
check
|
|
|
|
rm -rf $FONTDIR $CACHEFILE $CACHEDIR $FONTCONFIG_FILE out
|