Add a test case for bz#106618

This commit is contained in:
Akira TAGOH 2018-05-25 15:24:44 +09:00
parent 14c23a5715
commit 3fa8381336
3 changed files with 63 additions and 2 deletions

View File

@ -71,6 +71,9 @@ test_conf_LDADD = $(top_builddir)/src/libfontconfig.la $(JSONC_LIBS)
TESTS += run-test-conf.sh
endif
check_PROGRAMS += test-bz106618
test_bz106618_LDADD = $(top_builddir)/src/libfontconfig.la
EXTRA_DIST=run-test.sh run-test-conf.sh $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names
CLEANFILES=out fonts.conf out.expected

View File

@ -189,6 +189,8 @@ TESTTMPDIR=`mktemp -d /tmp/fontconfig.XXXXXXXX`
sed "s!@FONTDIR@!$TESTTMPDIR/fonts!
s!@CACHEDIR@!$TESTTMPDIR/cache.dir!" < $TESTDIR/fonts.conf.in > bind-fonts.conf
$BWRAP --bind / / --bind $CACHEDIR $TESTTMPDIR/cache.dir --bind $FONTDIR $TESTTMPDIR/fonts --bind .. $TESTTMPDIR/build --dev-bind /dev /dev --setenv FONTCONFIG_FILE $TESTTMPDIR/build/test/bind-fonts.conf $TESTTMPDIR/build/fc-match/fc-match$EXEEXT -f "%{file}\n" ":foundry=Misc" > xxx
$BWRAP --bind / / --bind $CACHEDIR $TESTTMPDIR/cache.dir --bind $FONTDIR $TESTTMPDIR/fonts --bind .. $TESTTMPDIR/build --dev-bind /dev /dev --setenv FONTCONFIG_FILE $TESTTMPDIR/build/test/bind-fonts.conf $TESTTMPDIR/build/test/test-bz106618$EXEEXT | sort > flist1
$BWRAP --bind / / --bind $CACHEDIR $TESTTMPDIR/cache.dir --bind $FONTDIR $TESTTMPDIR/fonts --bind .. $TESTTMPDIR/build --dev-bind /dev /dev find $TESTTMPDIR/fonts/ -type f -name '*.pcf' | sort > flist2
ls -l $CACHEDIR > out2
if cmp out1 out2 > /dev/null ; then : ; else
echo "*** Test failed: $TEST"
@ -197,10 +199,19 @@ if cmp out1 out2 > /dev/null ; then : ; else
fi
if [ x`cat xxx` != "x$TESTTMPDIR/fonts/4x6.pcf" ]; then
echo "*** Test failed: $TEST"
echo "file property doesn't points to the new place: $TESTTMPDIR/fonts/4x6.pcf"
echo "file property doesn't point to the new place: $TESTTMPDIR/fonts/4x6.pcf"
exit 1
fi
rm -rf $TESTTMPDIR out1 out2 xxx bind-fonts.conf
if cmp flist1 flist2 > /dev/null ; then : ; else
echo "*** Test failed: $TEST"
echo "file properties doesn't point to the new places"
echo "Expected result:"
cat flist2
echo "Actual result:"
cat flist1
exit 1
fi
rm -rf $TESTTMPDIR out1 out2 xxx flist1 flist2 bind-fonts.conf
fi
dotest "sysroot option"

47
test/test-bz106618.c Normal file
View File

@ -0,0 +1,47 @@
/*
* fontconfig/test/test-bz89617.c
*
* Copyright © 2000 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of the author(s) not be used in
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. The authors make no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
#include <stdio.h>
#include <fontconfig/fontconfig.h>
int
main (int argc, char **argv)
{
FcFontSet *fs = FcConfigGetFonts (NULL, FcSetSystem);
int i;
if (!fs)
return 1;
for (i = 0; i < fs->nfont; i++)
{
FcPattern *p = fs->fonts[i];
FcChar8 *file;
if (FcPatternGetString (p, FC_FILE, 0, &file) != FcResultMatch)
return 1;
printf ("%s\n", file);
}
FcFontSetDestroy (fs);
return 0;
}