fontconfig/fontconfig-test-delay.patch

80 lines
2.6 KiB
Diff
Raw Normal View History

From 0ddacad43d7fce4668914a4695898902d1006965 Mon Sep 17 00:00:00 2001
From: Keith Packard <keithp@keithp.com>
Date: Mon, 29 Oct 2018 16:36:11 -0700
Subject: [PATCH] Add delays to test-bz106632, check UptoDate separately
On a file system with one-second time stamps, extra delays are needed
between cache modification operations to ensure that fontconfig isn't
fooled.
And, when the timestamps are checked correctly, we need to make sure
that FcConfigUptoDate returns false whenever we change a font
directory, so separate that out from the call to reinitialize the core
config.
Signed-off-by: Keith Packard <keithp@keithp.com>
---
test/test-bz106632.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/test/test-bz106632.c b/test/test-bz106632.c
index c2edd72..87a5ec0 100644
--- a/test/test-bz106632.c
+++ b/test/test-bz106632.c
@@ -186,7 +186,7 @@ main (void)
mkdir_p (cachedir);
fprintf (stderr, "D: Copying %s to %s\n", FONTFILE, fontdir);
- snprintf (cmd, 512, "cp -a %s %s", FONTFILE, fontdir);
+ snprintf (cmd, 512, "sleep 1; cp -a %s %s; sleep 1", FONTFILE, fontdir);
system (cmd);
fprintf (stderr, "D: Loading a config\n");
@@ -215,15 +215,21 @@ main (void)
goto bail;
}
fprintf (stderr, "D: Removing %s\n", fontdir);
- snprintf (cmd, 512, "rm -f %s%s*; sleep 1", fontdir, FC_DIR_SEPARATOR_S);
+ snprintf (cmd, 512, "sleep 1; rm -f %s%s*; sleep 1", fontdir, FC_DIR_SEPARATOR_S);
system (cmd);
fprintf (stderr, "D: Reinitializing\n");
- if (!FcConfigUptoDate (config) || !FcInitReinitialize ())
+ if (FcConfigUptoDate(config))
{
- fprintf (stderr, "E: Unable to reinitialize\n");
+ fprintf (stderr, "E: Config reports up-to-date\n");
ret = 2;
goto bail;
}
+ if (!FcInitReinitialize ())
+ {
+ fprintf (stderr, "E: Unable to reinitialize\n");
+ ret = 3;
+ goto bail;
+ }
if (FcConfigGetCurrent () == config)
{
fprintf (stderr, "E: config wasn't reloaded\n");
@@ -254,10 +260,16 @@ main (void)
goto bail;
}
fprintf (stderr, "D: Copying %s to %s\n", FONTFILE, fontdir);
- snprintf (cmd, 512, "cp -a %s %s; sleep 1", FONTFILE, fontdir);
+ snprintf (cmd, 512, "sleep 1; cp -a %s %s; sleep 1", FONTFILE, fontdir);
system (cmd);
fprintf (stderr, "D: Reinitializing\n");
- if (!FcConfigUptoDate (config) || !FcInitReinitialize ())
+ if (FcConfigUptoDate(config))
+ {
+ fprintf (stderr, "E: Config up-to-date after addition\n");
+ ret = 3;
+ goto bail;
+ }
+ if (!FcInitReinitialize ())
{
fprintf (stderr, "E: Unable to reinitialize\n");
ret = 2;
--
2.19.1