[Fontconfig] fontconfig: Branch 'master'

Akira TAGOH tagoh at kemper.freedesktop.org
Fri May 25 06:25:07 UTC 2018


 test/Makefile.am     |    3 +++
 test/run-test.sh     |   15 +++++++++++++--
 test/test-bz106618.c |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 63 insertions(+), 2 deletions(-)

New commits:
commit 3fa83813360bd414f877bac90788ce0348564c9e
Author: Akira TAGOH <akira at tagoh.org>
Date:   Fri May 25 15:24:44 2018 +0900

    Add a test case for bz#106618

diff --git a/test/Makefile.am b/test/Makefile.am
index 48ec3ce..f104cf0 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -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
diff --git a/test/run-test.sh b/test/run-test.sh
index e375608..b75b764 100644
--- a/test/run-test.sh
+++ b/test/run-test.sh
@@ -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"
diff --git a/test/test-bz106618.c b/test/test-bz106618.c
new file mode 100644
index 0000000..86f8eae
--- /dev/null
+++ b/test/test-bz106618.c
@@ -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;
+}


More information about the Fontconfig mailing list