summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkira TAGOH <akira@tagoh.org>2018-05-25 15:24:44 +0900
committerAkira TAGOH <akira@tagoh.org>2018-05-25 15:24:44 +0900
commit3fa83813360bd414f877bac90788ce0348564c9e (patch)
tree6af5493472df7c634000cc2fff964351e89fa680
parent14c23a5715c529be175d8d6152cabd4ddad4e981 (diff)
downloadfontconfig-3fa83813360bd414f877bac90788ce0348564c9e.tar.gz
Add a test case for bz#106618
-rw-r--r--test/Makefile.am3
-rw-r--r--test/run-test.sh15
-rw-r--r--test/test-bz106618.c47
3 files changed, 63 insertions, 2 deletions
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;
+}