summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/create-for-stream.c14
-rw-r--r--test/fallback-resolution.c20
-rw-r--r--test/multi-page.c9
-rw-r--r--test/pdf-features.c6
-rw-r--r--test/pdf-mime-data.c6
-rw-r--r--test/pdf-surface-source.c6
-rw-r--r--test/png.c8
-rw-r--r--test/ps-eps.c20
-rw-r--r--test/ps-features.c8
-rw-r--r--test/ps-surface-source.c6
-rw-r--r--test/svg-clip.c6
-rw-r--r--test/svg-surface-source.c6
-rw-r--r--test/svg-surface.c6
13 files changed, 66 insertions, 55 deletions
diff --git a/test/create-for-stream.c b/test/create-for-stream.c
index e99979590..af1632f14 100644
--- a/test/create-for-stream.c
+++ b/test/create-for-stream.c
@@ -239,6 +239,8 @@ preamble (cairo_test_context_t *ctx)
{
cairo_test_status_t status = CAIRO_TEST_UNTESTED;
cairo_test_status_t test_status;
+ char *filename;
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
#if CAIRO_HAS_PS_SURFACE
if (cairo_test_is_target_enabled (ctx, "ps2") ||
@@ -247,7 +249,8 @@ preamble (cairo_test_context_t *ctx)
if (status == CAIRO_TEST_UNTESTED)
status = CAIRO_TEST_SUCCESS;
- test_status = test_surface (ctx, "ps", CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".ps",
+ xasprintf (&filename, "%s/%s", path, BASENAME ".ps");
+ test_status = test_surface (ctx, "ps", filename,
cairo_ps_surface_create,
cairo_ps_surface_create_for_stream);
cairo_test_log (ctx, "TEST: %s TARGET: %s RESULT: %s\n",
@@ -255,6 +258,7 @@ preamble (cairo_test_context_t *ctx)
test_status ? "FAIL" : "PASS");
if (status == CAIRO_TEST_SUCCESS)
status = test_status;
+ free (filename);
}
#endif
@@ -263,7 +267,8 @@ preamble (cairo_test_context_t *ctx)
if (status == CAIRO_TEST_UNTESTED)
status = CAIRO_TEST_SUCCESS;
- test_status = test_surface (ctx, "pdf", CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".pdf",
+ xasprintf (&filename, "%s/%s", path, BASENAME ".pdf");
+ test_status = test_surface (ctx, "pdf", filename,
cairo_pdf_surface_create,
cairo_pdf_surface_create_for_stream);
cairo_test_log (ctx, "TEST: %s TARGET: %s RESULT: %s\n",
@@ -271,6 +276,7 @@ preamble (cairo_test_context_t *ctx)
test_status ? "FAIL" : "PASS");
if (status == CAIRO_TEST_SUCCESS)
status = test_status;
+ free (filename);
}
#endif
@@ -281,7 +287,8 @@ preamble (cairo_test_context_t *ctx)
if (status == CAIRO_TEST_UNTESTED)
status = CAIRO_TEST_SUCCESS;
- test_status = test_surface (ctx, "svg", CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".svg",
+ xasprintf (&filename, "%s/%s", path, BASENAME ".svg");
+ test_status = test_surface (ctx, "svg", filename,
cairo_svg_surface_create,
cairo_svg_surface_create_for_stream);
cairo_test_log (ctx, "TEST: %s TARGET: %s RESULT: %s\n",
@@ -289,6 +296,7 @@ preamble (cairo_test_context_t *ctx)
test_status ? "FAIL" : "PASS");
if (status == CAIRO_TEST_SUCCESS)
status = test_status;
+ free (filename);
}
#endif
diff --git a/test/fallback-resolution.c b/test/fallback-resolution.c
index 138b3a4ba..df53e623c 100644
--- a/test/fallback-resolution.c
+++ b/test/fallback-resolution.c
@@ -320,24 +320,6 @@ generate_reference (double ppi_x, double ppi_y, const char *filename)
}
#endif
-static cairo_bool_t
-_cairo_test_mkdir (const char *path)
-{
-#if ! HAVE_MKDIR
- return FALSE;
-#elif HAVE_MKDIR == 1
- if (mkdir (path) == 0)
- return TRUE;
-#elif HAVE_MKDIR == 2
- if (mkdir (path, 0770) == 0)
- return TRUE;
-#else
-#error Bad value for HAVE_MKDIR
-#endif
-
- return errno == EEXIST;
-}
-
/* TODO: Split each ppi case out to its own CAIRO_TEST() test case */
static cairo_test_status_t
preamble (cairo_test_context_t *ctx)
@@ -363,7 +345,7 @@ preamble (cairo_test_context_t *ctx)
};
unsigned int i;
int n, num_ppi;
- const char *path = _cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
num_ppi = ARRAY_LENGTH (ppi);
diff --git a/test/multi-page.c b/test/multi-page.c
index dea3b4279..e5b3dd269 100644
--- a/test/multi-page.c
+++ b/test/multi-page.c
@@ -133,8 +133,9 @@ preamble (cairo_test_context_t *ctx)
{
cairo_surface_t *surface;
cairo_status_t status;
- const char *filename;
+ char *filename;
cairo_test_status_t result = CAIRO_TEST_UNTESTED;
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
#if CAIRO_HAS_PS_SURFACE
if (cairo_test_is_target_enabled (ctx, "ps2") ||
@@ -143,7 +144,7 @@ preamble (cairo_test_context_t *ctx)
if (result == CAIRO_TEST_UNTESTED)
result = CAIRO_TEST_SUCCESS;
- filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".ps";
+ xasprintf (&filename, "%s/%s", path, BASENAME ".ps");
surface = cairo_ps_surface_create (filename,
WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
status = cairo_surface_status (surface);
@@ -156,6 +157,7 @@ preamble (cairo_test_context_t *ctx)
draw_some_pages (surface);
cairo_surface_destroy (surface);
+ free (filename);
printf ("multi-page: Please check %s to ensure it looks happy.\n", filename);
}
@@ -166,7 +168,7 @@ preamble (cairo_test_context_t *ctx)
if (result == CAIRO_TEST_UNTESTED)
result = CAIRO_TEST_SUCCESS;
- filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".pdf";
+ xasprintf (&filename, "%s/%s", path, BASENAME ".pdf");
surface = cairo_pdf_surface_create (filename,
WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
status = cairo_surface_status (surface);
@@ -179,6 +181,7 @@ preamble (cairo_test_context_t *ctx)
draw_some_pages (surface);
cairo_surface_destroy (surface);
+ free (filename);
printf ("multi-page: Please check %s to ensure it looks happy.\n", filename);
}
diff --git a/test/pdf-features.c b/test/pdf-features.c
index c5f6bea7d..0cc50ed19 100644
--- a/test/pdf-features.c
+++ b/test/pdf-features.c
@@ -89,11 +89,14 @@ preamble (cairo_test_context_t *ctx)
cairo_t *cr;
cairo_status_t status;
size_t i;
- const char *filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".pdf";
+ char *filename;
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
if (! cairo_test_is_target_enabled (ctx, "pdf"))
return CAIRO_TEST_UNTESTED;
+ xasprintf (&filename, "%s/%s.pdf", path, BASENAME);
+
/* The initial size passed here is the default size that will be
* inheritable by each page. That is, any page for which this
* initial size applies will not have its own /MediaBox entry in
@@ -125,6 +128,7 @@ preamble (cairo_test_context_t *ctx)
cairo_destroy (cr);
cairo_surface_destroy (surface);
+ free (filename);
if (status) {
cairo_test_log (ctx, "Failed to create pdf surface for file %s: %s\n",
diff --git a/test/pdf-mime-data.c b/test/pdf-mime-data.c
index e4fbaa258..c575c4add 100644
--- a/test/pdf-mime-data.c
+++ b/test/pdf-mime-data.c
@@ -84,7 +84,6 @@ read_file (const cairo_test_context_t *ctx,
static cairo_test_status_t
preamble (cairo_test_context_t *ctx)
{
- const char *filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".pdf";
cairo_surface_t *image;
cairo_surface_t *surface;
cairo_t *cr;
@@ -96,6 +95,8 @@ preamble (cairo_test_context_t *ctx)
unsigned int len, out_len;
char command[4096];
int exit_status;
+ char *filename;
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
if (! cairo_test_is_target_enabled (ctx, "pdf"))
return CAIRO_TEST_UNTESTED;
@@ -113,6 +114,7 @@ preamble (cairo_test_context_t *ctx)
width = cairo_image_surface_get_width (image);
height = cairo_image_surface_get_height (image);
+ xasprintf (&filename, "%s/%s.pdf", path, BASENAME);
surface = cairo_pdf_surface_create (filename, width + 20, height + 20);
cr = cairo_create (surface);
cairo_translate (cr, 10, 10);
@@ -128,6 +130,7 @@ preamble (cairo_test_context_t *ctx)
cairo_surface_destroy (image);
if (status) {
+ free (filename);
cairo_test_log (ctx, "Failed to create pdf surface for file %s: %s\n",
filename, cairo_status_to_string (status));
return CAIRO_TEST_FAILURE;
@@ -137,6 +140,7 @@ preamble (cairo_test_context_t *ctx)
sprintf (command, "pdfimages -j %s %s", filename, CAIRO_TEST_OUTPUT_DIR "/" BASENAME);
exit_status = system (command);
+ free (filename);
if (exit_status) {
cairo_test_log (ctx, "pdfimages failed with exit status %d\n", exit_status);
return CAIRO_TEST_FAILURE;
diff --git a/test/pdf-surface-source.c b/test/pdf-surface-source.c
index 63072717c..354a7259a 100644
--- a/test/pdf-surface-source.c
+++ b/test/pdf-surface-source.c
@@ -34,9 +34,13 @@ static cairo_surface_t *
create_source_surface (int size)
{
cairo_surface_t *surface;
+ char *filename;
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
- surface = cairo_pdf_surface_create (CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".pdf", size, size);
+ xasprintf (&filename, "%s/%s.pdf", path, BASENAME);
+ surface = cairo_pdf_surface_create (filename, size, size);
cairo_surface_set_fallback_resolution (surface, 72., 72.);
+ free (filename);
return surface;
}
diff --git a/test/png.c b/test/png.c
index 1dfc793ec..c01fbd7bd 100644
--- a/test/png.c
+++ b/test/png.c
@@ -78,11 +78,13 @@ print_surface (const cairo_test_context_t *ctx, cairo_surface_t *surface)
static cairo_test_status_t
preamble (cairo_test_context_t *ctx)
{
- const char *filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".png";
cairo_surface_t *surface0, *surface1;
cairo_status_t status;
uint32_t argb32 = 0xdeadbede;
+ char *filename;
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
+ xasprintf (&filename, "%s/%s.png", path, BASENAME);
surface0 = cairo_image_surface_create_for_data ((unsigned char *) &argb32,
CAIRO_FORMAT_ARGB32,
1, 1, 4);
@@ -92,6 +94,7 @@ preamble (cairo_test_context_t *ctx)
filename, cairo_status_to_string (status));
cairo_surface_destroy (surface0);
+ free (filename);
return cairo_test_status_from_status (ctx, status);
}
surface1 = cairo_image_surface_create_from_png (filename);
@@ -102,6 +105,7 @@ preamble (cairo_test_context_t *ctx)
cairo_surface_destroy (surface1);
cairo_surface_destroy (surface0);
+ free (filename);
return cairo_test_status_from_status (ctx, status);
}
@@ -112,6 +116,7 @@ preamble (cairo_test_context_t *ctx)
cairo_surface_destroy (surface0);
cairo_surface_destroy (surface1);
+ free (filename);
return CAIRO_TEST_FAILURE;
}
assert (*(uint32_t *) cairo_image_surface_get_data (surface1) == argb32);
@@ -131,6 +136,7 @@ preamble (cairo_test_context_t *ctx)
}
surface1 = cairo_image_surface_create_from_png (filename);
status = cairo_surface_status (surface1);
+ free (filename);
if (status) {
cairo_test_log (ctx, "Error reading '%s': %s\n",
filename, cairo_status_to_string (status));
diff --git a/test/ps-eps.c b/test/ps-eps.c
index 196146389..66224e20e 100644
--- a/test/ps-eps.c
+++ b/test/ps-eps.c
@@ -239,31 +239,13 @@ check_bbox (cairo_test_context_t *ctx,
return TRUE;
}
-static cairo_bool_t
-_cairo_test_mkdir (const char *path)
-{
-#if ! HAVE_MKDIR
- return FALSE;
-#elif HAVE_MKDIR == 1
- if (mkdir (path) == 0)
- return TRUE;
-#elif HAVE_MKDIR == 2
- if (mkdir (path, 0770) == 0)
- return TRUE;
-#else
-#error Bad value for HAVE_MKDIR
-#endif
-
- return errno == EEXIST;
-}
-
static cairo_test_status_t
preamble (cairo_test_context_t *ctx)
{
cairo_t *cr;
cairo_test_status_t ret = CAIRO_TEST_UNTESTED;
- const char *path = _cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
unsigned int i;
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
for (i = 0; i < ctx->num_targets; i++) {
const cairo_boilerplate_target_t *target = ctx->targets_to_test[i];
diff --git a/test/ps-features.c b/test/ps-features.c
index 2eb9acea5..fe5de42fa 100644
--- a/test/ps-features.c
+++ b/test/ps-features.c
@@ -91,9 +91,10 @@ preamble (cairo_test_context_t *ctx)
cairo_surface_t *surface;
cairo_t *cr;
cairo_status_t status;
- const char *filename;
size_t i;
char dsc[255];
+ char *filename;
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
if (! (cairo_test_is_target_enabled (ctx, "ps2") ||
cairo_test_is_target_enabled (ctx, "ps3")))
@@ -101,8 +102,7 @@ preamble (cairo_test_context_t *ctx)
return CAIRO_TEST_UNTESTED;
}
- filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".ps";
-
+ xasprintf (&filename, "%s/%s.ps", path, BASENAME);
/* We demonstrate that the initial size doesn't matter (we're
* passing 0,0), if we use cairo_ps_surface_set_size on the first
* page. */
@@ -149,10 +149,12 @@ preamble (cairo_test_context_t *ctx)
if (status) {
cairo_test_log (ctx, "Failed to create ps surface for file %s: %s\n",
filename, cairo_status_to_string (status));
+ free (filename);
return CAIRO_TEST_FAILURE;
}
printf ("ps-features: Please check %s to ensure it looks/prints correctly.\n", filename);
+ free (filename);
return CAIRO_TEST_SUCCESS;
}
diff --git a/test/ps-surface-source.c b/test/ps-surface-source.c
index 3573cb22d..16c677674 100644
--- a/test/ps-surface-source.c
+++ b/test/ps-surface-source.c
@@ -34,9 +34,13 @@ static cairo_surface_t *
create_source_surface (int size)
{
cairo_surface_t *surface;
+ char *filename;
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
- surface = cairo_ps_surface_create (CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".ps", size, size);
+ xasprintf (&filename, "%s/%s.ps", path, BASENAME);
+ surface = cairo_ps_surface_create (filename, size, size);
cairo_surface_set_fallback_resolution (surface, 72., 72.);
+ free (filename);
return surface;
}
diff --git a/test/svg-clip.c b/test/svg-clip.c
index 149033b40..b39e29f8c 100644
--- a/test/svg-clip.c
+++ b/test/svg-clip.c
@@ -108,8 +108,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"))
@@ -117,12 +118,14 @@ 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)) {
cairo_test_log (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;
}
@@ -136,6 +139,7 @@ preamble (cairo_test_context_t *ctx)
printf ("svg-clip: Please check %s to make sure it looks happy.\n",
filename);
+ free (filename);
return CAIRO_TEST_SUCCESS;
}
diff --git a/test/svg-surface-source.c b/test/svg-surface-source.c
index 2c33980ca..3c7730f7f 100644
--- a/test/svg-surface-source.c
+++ b/test/svg-surface-source.c
@@ -34,10 +34,14 @@ static cairo_surface_t *
create_source_surface (int size)
{
cairo_surface_t *surface;
+ char *filename;
+ const char *path = cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
- surface = cairo_svg_surface_create (CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".svg",
+ xasprintf (&filename, "%s/%s.svg", path, BASENAME);
+ surface = cairo_svg_surface_create (filename,
size, size);
cairo_surface_set_fallback_resolution (surface, 72., 72.);
+ free (filename);
return surface;
}
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;
}