[test/cairo-test] Enable use of font backend-specific reference images. --- commit 05d609e2c193c149ae4ca6f4a3f05a4f7ca3959e tree 7a31255cff43d4f298aeed075dbe3abf69330c19 parent 8fd7328ebb77b0a641cf30bded85e482ea63ad97 author Brian Ewins Thu, 28 Dec 2006 13:04:33 +0000 committer Brian Ewins Thu, 28 Dec 2006 13:04:33 +0000 test/cairo-test.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 57 insertions(+), 3 deletions(-) diff --git a/test/cairo-test.c b/test/cairo-test.c index 498eb8e..8bb997a 100755 --- a/test/cairo-test.c +++ b/test/cairo-test.c @@ -132,7 +132,61 @@ cairo_ref_name_for_test_target_format (c { char *ref_name = NULL; - /* First look for a target/format-specific reference image. */ + /* The font backend is selected at compile time, as in cairoint.h. */ +#if CAIRO_HAS_WIN32_FONT + /* the win32 target is 'win32', so use a different name. */ + char *font_backend = "win32font"; +#elif CAIRO_HAS_ATSUI_FONT + char *font_backend = "atsui"; +#elif CAIRO_HAS_FT_FONT + char *font_backend = "ft"; +#endif + + /* First look for a backend/target/format-specific reference image. */ + xasprintf (&ref_name, "%s/%s-%s-%s-%s%s", srcdir, + test_name, + font_backend, + target_name, + format, + CAIRO_TEST_REF_SUFFIX); + if (access (ref_name, F_OK) != 0) + free (ref_name); + else + goto done; + + /* Next, look for a backend/target-specific reference image. */ + xasprintf (&ref_name, "%s/%s-%s-%s%s", srcdir, + test_name, + font_backend, + target_name, + CAIRO_TEST_REF_SUFFIX); + if (access (ref_name, F_OK) != 0) + free (ref_name); + else + goto done; + + /* Next, look for a backend/format-specific reference image. */ + xasprintf (&ref_name, "%s/%s-%s-%s%s", srcdir, + test_name, + font_backend, + format, + CAIRO_TEST_REF_SUFFIX); + if (access (ref_name, F_OK) != 0) + free (ref_name); + else + goto done; + + /* Next, look for a backend-specific reference image. */ + xasprintf (&ref_name, "%s/%s-%s%s", srcdir, + test_name, + font_backend, + CAIRO_TEST_REF_SUFFIX); + if (access (ref_name, F_OK) != 0) + free (ref_name); + else + goto done; + + /* Next, look for a target/format-specific reference image. */ xasprintf (&ref_name, "%s/%s-%s-%s%s", srcdir, test_name, target_name, @@ -143,7 +197,7 @@ cairo_ref_name_for_test_target_format (c else goto done; - /* Next, look for taget-specifc reference image. */ + /* Next, look for target-specific reference image. */ xasprintf (&ref_name, "%s/%s-%s%s", srcdir, test_name, target_name, @@ -153,7 +207,7 @@ cairo_ref_name_for_test_target_format (c else goto done; - /* Next, look for format-specifc reference image. */ + /* Next, look for format-specific reference image. */ xasprintf (&ref_name, "%s/%s-%s%s", srcdir, test_name, format,