fixed files
[platform/upstream/fontconfig.git] / test / run-test.sh
1 #!/bin/sh
2 # fontconfig/test/run-test.sh
3 #
4 # Copyright © 2000 Keith Packard
5 #
6 # Permission to use, copy, modify, distribute, and sell this software and its
7 # documentation for any purpose is hereby granted without fee, provided that
8 # the above copyright notice appear in all copies and that both that
9 # copyright notice and this permission notice appear in supporting
10 # documentation, and that the name of the author(s) not be used in
11 # advertising or publicity pertaining to distribution of the software without
12 # specific, written prior permission.  The authors make no
13 # representations about the suitability of this software for any purpose.  It
14 # is provided "as is" without express or implied warranty.
15 #
16 # THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17 # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18 # EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19 # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20 # DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21 # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22 # PERFORMANCE OF THIS SOFTWARE.
23 TESTDIR=${srcdir-`pwd`}
24
25 FONTDIR=`pwd`/fonts
26 CACHEDIR=`pwd`/cache.dir
27
28 ECHO=true
29
30 FCLIST=../fc-list/fc-list$EXEEXT
31 FCCACHE=../fc-cache/fc-cache$EXEEXT
32
33 FONT1=$TESTDIR/4x6.pcf
34 FONT2=$TESTDIR/8x16.pcf
35
36 check () {
37   $FCLIST - family pixelsize | sort > out
38   echo "=" >> out
39   $FCLIST - family pixelsize | sort >> out
40   echo "=" >> out
41   $FCLIST - family pixelsize | sort >> out
42   tr -d '\015' <out >out.tmp; mv out.tmp out
43   if cmp out $TESTDIR/out.expected > /dev/null ; then : ; else
44     echo "*** Test failed: $TEST"
45     echo "*** output is in 'out', expected output in 'out.expected'"
46     exit 1
47   fi
48   rm out
49 }
50
51 prep() {
52   rm -rf $CACHEDIR
53   rm -rf $FONTDIR
54   mkdir $FONTDIR
55 }
56
57 dotest () {
58   TEST=$1
59   test x$VERBOSE = x || echo Running: $TEST
60 }
61
62 sed "s!@FONTDIR@!$FONTDIR!
63 s!@CACHEDIR@!$CACHEDIR!" < $TESTDIR/fonts.conf.in > fonts.conf
64
65 FONTCONFIG_FILE=`pwd`/fonts.conf
66 export FONTCONFIG_FILE
67
68 dotest "Basic check"
69 prep
70 cp $FONT1 $FONT2 $FONTDIR
71 check
72
73 dotest "With a subdir"
74 prep
75 cp $FONT1 $FONT2 $FONTDIR
76 $FCCACHE $FONTDIR
77 check
78
79 dotest "Subdir with a cache file"
80 prep
81 mkdir $FONTDIR/a
82 cp $FONT1 $FONT2 $FONTDIR/a
83 $FCCACHE $FONTDIR/a
84 check
85
86 dotest "Complicated directory structure"
87 prep
88 mkdir $FONTDIR/a
89 mkdir $FONTDIR/a/a
90 mkdir $FONTDIR/b
91 mkdir $FONTDIR/b/a
92 cp $FONT1 $FONTDIR/a
93 cp $FONT2 $FONTDIR/b/a
94 check
95
96 dotest "Subdir with an out-of-date cache file"
97 prep
98 mkdir $FONTDIR/a
99 $FCCACHE $FONTDIR/a
100 sleep 1
101 cp $FONT1 $FONT2 $FONTDIR/a
102 check
103
104 dotest "Dir with an out-of-date cache file"
105 prep
106 cp $FONT1 $FONTDIR
107 $FCCACHE $FONTDIR
108 sleep 1
109 mkdir $FONTDIR/a
110 cp $FONT2 $FONTDIR/a
111 check
112
113 rm -rf $FONTDIR $CACHEFILE $CACHEDIR $FONTCONFIG_FILE out