From 44d903783dd0b9b671be9e829c5b9e4e78c681c0 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 1 Mar 2003 05:55:17 +0000 Subject: [PATCH] Add simple tests --- Makefile.am | 2 +- configure.in | 1 + test/4x6.pcf | Bin 0 -> 70952 bytes test/8x16.pcf | Bin 0 -> 21320 bytes test/Makefile.am | 4 +++ test/fonts.conf.in | 4 +++ test/out.expected | 8 +++++ test/run-test.sh | 85 +++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 test/4x6.pcf create mode 100644 test/8x16.pcf create mode 100644 test/Makefile.am create mode 100644 test/fonts.conf.in create mode 100644 test/out.expected create mode 100644 test/run-test.sh diff --git a/Makefile.am b/Makefile.am index 573f84c..7852f5f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,7 +21,7 @@ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -SUBDIRS=fontconfig fc-lang src fc-cache fc-list doc +SUBDIRS=fontconfig fc-lang src fc-cache fc-list doc test EXTRA_DIST = \ fontconfig.pc.in \ diff --git a/configure.in b/configure.in index a123405..6b94f5e 100644 --- a/configure.in +++ b/configure.in @@ -327,6 +327,7 @@ src/Makefile fc-cache/Makefile fc-list/Makefile doc/Makefile +test/Makefile fontconfig.spec fontconfig.pc fonts.conf diff --git a/test/4x6.pcf b/test/4x6.pcf new file mode 100644 index 0000000000000000000000000000000000000000..dc25510a60279804f759100b61d22a86c06ade85 GIT binary patch literal 70952 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 literal 0 HcmV?d00001 diff --git a/test/8x16.pcf b/test/8x16.pcf new file mode 100644 index 0000000000000000000000000000000000000000..0babed1649dacffe166344df1a82d617d4e2a6fb GIT binary patch literal 21320 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 +@FONTDIR@ +@CACHEFILE@ + diff --git a/test/out.expected b/test/out.expected new file mode 100644 index 0000000..39634c5 --- /dev/null +++ b/test/out.expected @@ -0,0 +1,8 @@ +Fixed:pixelsize=16 +Fixed:pixelsize=6 += +Fixed:pixelsize=16 +Fixed:pixelsize=6 += +Fixed:pixelsize=16 +Fixed:pixelsize=6 diff --git a/test/run-test.sh b/test/run-test.sh new file mode 100644 index 0000000..b2600d7 --- /dev/null +++ b/test/run-test.sh @@ -0,0 +1,85 @@ +#!/bin/sh +FONTDIR=`pwd`/fonts +CACHEFILE=`pwd`/fonts.cache + +ECHO=true + +FCLIST=../fc-list/fc-list +FCCACHE=../fc-cache/fc-cache + +check () { + $FCLIST - family pixelsize | sort > out + echo "=" >> out + $FCLIST - family pixelsize | sort >> out + echo "=" >> out + $FCLIST - family pixelsize | sort >> out + if cmp out out.expected > /dev/null ; then : ; else + echo "*** Test failed: $TEST" + echo "*** output is in 'out', expected output in 'out.expected'" + exit + fi +} + +prep() { + rm -rf $CACHEFILE + rm -rf $FONTDIR + mkdir $FONTDIR +} + +dotest () { + TEST=$1 + test x$VERBOSE = x || echo Running: $TEST +} + +sed "s!@FONTDIR@!$FONTDIR! +s!@CACHEFILE@!$CACHEFILE!" < fonts.conf.in > fonts.conf + +FONTCONFIG_FILE=`pwd`/fonts.conf +export FONTCONFIG_FILE + +dotest "Basic check" +prep +cp 4x6.pcf 8x16.pcf $FONTDIR +check + +dotest "With a subdir" +prep +cp 4x6.pcf 8x16.pcf $FONTDIR +$FCCACHE $FONTDIR +check + +dotest "Subdir with a cache file" +prep +mkdir $FONTDIR/a +cp 4x6.pcf 8x16.pcf $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 4x6.pcf $FONTDIR/a +cp 8x16.pcf $FONTDIR/b/a +check + +dotest "Subdir with an out-of-date cache file" +prep +mkdir $FONTDIR/a +$FCCACHE $FONTDIR/a +sleep 1 +cp 4x6.pcf 8x16.pcf $FONTDIR/a +check + +dotest "Dir with an out-of-date cache file" +prep +cp 4x6.pcf $FONTDIR +$FCCACHE $FONTDIR +sleep 1 +mkdir $FONTDIR/a +cp 8x16.pcf $FONTDIR/a +check + +rm -rf $FONTDIR $CACHEFILE $FONTCONFIG_FILE out -- 2.39.5