diff options
author | Keith Packard <keithp@keithp.com> | 2003-03-01 05:55:17 +0000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2003-03-01 05:55:17 +0000 |
commit | 44d903783dd0b9b671be9e829c5b9e4e78c681c0 (patch) | |
tree | 01e6488f8956e4fddb7cf0c19a10b8e59bd1efca | |
parent | 9238fc061d2f89590d578bff69fd3e8fc4b72e2c (diff) |
Add simple tests
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | configure.in | 1 | ||||
-rw-r--r-- | test/4x6.pcf | bin | 0 -> 70952 bytes | |||
-rw-r--r-- | test/8x16.pcf | bin | 0 -> 21320 bytes | |||
-rw-r--r-- | test/Makefile.am | 4 | ||||
-rw-r--r-- | test/fonts.conf.in | 4 | ||||
-rw-r--r-- | test/out.expected | 8 | ||||
-rw-r--r-- | test/run-test.sh | 85 |
8 files changed, 103 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am index 573f84c8..7852f5fc 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 a1234053..6b94f5ea 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 Binary files differnew file mode 100644 index 00000000..dc25510a --- /dev/null +++ b/test/4x6.pcf diff --git a/test/8x16.pcf b/test/8x16.pcf Binary files differnew file mode 100644 index 00000000..0babed16 --- /dev/null +++ b/test/8x16.pcf diff --git a/test/Makefile.am b/test/Makefile.am new file mode 100644 index 00000000..8f4860f8 --- /dev/null +++ b/test/Makefile.am @@ -0,0 +1,4 @@ +check_SCRIPTS=run-test.sh +TESTS_ENVIRONMENT=sh +TESTS=run-test.sh + diff --git a/test/fonts.conf.in b/test/fonts.conf.in new file mode 100644 index 00000000..492e36fa --- /dev/null +++ b/test/fonts.conf.in @@ -0,0 +1,4 @@ +<fontconfig> +<dir>@FONTDIR@</dir> +<cache>@CACHEFILE@</cache> +</fontconfig> diff --git a/test/out.expected b/test/out.expected new file mode 100644 index 00000000..39634c50 --- /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 00000000..b2600d78 --- /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 |