]> git.wh0rd.org - fontconfig.git/commitdiff
Add simple tests
authorKeith Packard <keithp@keithp.com>
Sat, 1 Mar 2003 05:55:17 +0000 (05:55 +0000)
committerKeith Packard <keithp@keithp.com>
Sat, 1 Mar 2003 05:55:17 +0000 (05:55 +0000)
Makefile.am
configure.in
test/4x6.pcf [new file with mode: 0644]
test/8x16.pcf [new file with mode: 0644]
test/Makefile.am [new file with mode: 0644]
test/fonts.conf.in [new file with mode: 0644]
test/out.expected [new file with mode: 0644]
test/run-test.sh [new file with mode: 0644]

index 573f84c879f4f6df192238a3a4d78c32ebb6796a..7852f5fc79592130f6088870642a8141d1ea0794 100644 (file)
@@ -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 \
index a12340536d8413041854b10976664d2d34418426..6b94f5eaa5735ec5bafab6cbcd7e561a0ee9491d 100644 (file)
@@ -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 (file)
index 0000000..dc25510
Binary files /dev/null and b/test/4x6.pcf differ
diff --git a/test/8x16.pcf b/test/8x16.pcf
new file mode 100644 (file)
index 0000000..0babed1
Binary files /dev/null and b/test/8x16.pcf differ
diff --git a/test/Makefile.am b/test/Makefile.am
new file mode 100644 (file)
index 0000000..8f4860f
--- /dev/null
@@ -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 (file)
index 0000000..492e36f
--- /dev/null
@@ -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 (file)
index 0000000..39634c5
--- /dev/null
@@ -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 (file)
index 0000000..b2600d7
--- /dev/null
@@ -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