summaryrefslogtreecommitdiff
path: root/test/cairo-test-runner.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/cairo-test-runner.c')
-rw-r--r--test/cairo-test-runner.c74
1 files changed, 14 insertions, 60 deletions
diff --git a/test/cairo-test-runner.c b/test/cairo-test-runner.c
index 05d04b78e..72aa1ff9b 100644
--- a/test/cairo-test-runner.c
+++ b/test/cairo-test-runner.c
@@ -726,42 +726,6 @@ _has_required_cairo_version (const char *str)
CAIRO_VERSION_ENCODE (major, minor, micro));
}
-static cairo_bool_t
-_has_required_ghostscript_version (const char *str)
-{
-#if ! CAIRO_CAN_TEST_PS_SURFACE
- return TRUE;
-#endif
-
- str += 2; /* advance over "gs" */
-
- return TRUE;
-}
-
-static cairo_bool_t
-_has_required_poppler_version (const char *str)
-{
-#if ! CAIRO_CAN_TEST_PDF_SURFACE
- return TRUE;
-#endif
-
- str += 7; /* advance over "poppler" */
-
- return TRUE;
-}
-
-static cairo_bool_t
-_has_required_rsvg_version (const char *str)
-{
-#if ! CAIRO_CAN_TEST_SVG_SURFACE
- return TRUE;
-#endif
-
- str += 4; /* advance over "rsvg" */
-
- return TRUE;
-}
-
#define TEST_SIMILAR 0x1
#define TEST_OFFSET 0x2
#define TEST_SCALE 0x4
@@ -905,30 +869,6 @@ main (int argc, char **argv)
else
goto TEST_SKIPPED;
}
-
- str = strstr (requirements, "gs");
- if (str != NULL && ! _has_required_ghostscript_version (str)) {
- if (runner.list_only)
- goto TEST_NEXT;
- else
- goto TEST_SKIPPED;
- }
-
- str = strstr (requirements, "poppler");
- if (str != NULL && ! _has_required_poppler_version (str)) {
- if (runner.list_only)
- goto TEST_NEXT;
- else
- goto TEST_SKIPPED;
- }
-
- str = strstr (requirements, "rsvg");
- if (str != NULL && ! _has_required_rsvg_version (str)) {
- if (runner.list_only)
- goto TEST_NEXT;
- else
- goto TEST_SKIPPED;
- }
}
if (runner.list_only) {
@@ -942,6 +882,20 @@ main (int argc, char **argv)
if (ctx.test->preamble != NULL) {
status = _cairo_test_runner_preamble (&runner, &ctx);
+ if (getenv ("CAIRO_TEST_UGLY_HACK_TO_IGNORE_PS_FAILURES")) {
+ if (strcmp (ctx.test_name, "ps-eps") == 0 || strcmp (ctx.test_name, "fallback-resolution") == 0) {
+ if (status == CAIRO_TEST_FAILURE) {
+ cairo_test_log (&ctx, "Turning FAIL into XFAIL due to env\n");
+ fprintf (stderr, "Turning FAIL into XFAIL due to env\n");
+ runner.num_ignored_via_env++;
+ status = CAIRO_TEST_XFAILURE;
+ } else {
+ fprintf (stderr, "Test was expected to fail due to an environment variable, but did not!\n");
+ fprintf (stderr, "Please update the corresponding CAIRO_TEST_IGNORE_* variable.\n");
+ status = CAIRO_TEST_ERROR;
+ }
+ }
+ }
switch (status) {
case CAIRO_TEST_SUCCESS:
in_preamble = TRUE;