diff options
Diffstat (limited to 'test/svg-surface.c')
-rw-r--r-- | test/svg-surface.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/test/svg-surface.c b/test/svg-surface.c index 30cf99466..c0cdc1616 100644 --- a/test/svg-surface.c +++ b/test/svg-surface.c @@ -91,8 +91,9 @@ static cairo_test_status_t preamble (cairo_test_context_t *ctx) { cairo_t *cr; - const char *filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".svg"; cairo_surface_t *surface; + char *filename; + const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : "."; if (! cairo_test_is_target_enabled (ctx, "svg11") && ! cairo_test_is_target_enabled (ctx, "svg12")) @@ -100,6 +101,7 @@ preamble (cairo_test_context_t *ctx) return CAIRO_TEST_UNTESTED; } + xasprintf (&filename, "%s/%s.svg", path, BASENAME); surface = cairo_svg_surface_create (filename, WIDTH_IN_POINTS, HEIGHT_IN_POINTS); if (cairo_surface_status (surface)) { @@ -107,6 +109,7 @@ preamble (cairo_test_context_t *ctx) "Failed to create svg surface for file %s: %s\n", filename, cairo_status_to_string (cairo_surface_status (surface))); + free (filename); return CAIRO_TEST_FAILURE; } @@ -120,6 +123,7 @@ preamble (cairo_test_context_t *ctx) cairo_surface_destroy (surface); printf ("svg-surface: Please check svg-surface.svg to make sure it looks happy.\n"); + free (filename); return CAIRO_TEST_SUCCESS; } |