[cairo] [PATCH v4 2/5] test: Fix several tests to place output files in the output directory

Bryce W. Harrington b.harrington at samsung.com
Sun Sep 8 13:10:03 PDT 2013


The standard location for test output is cairo/test/output.  The harness
itself was updated to write automatically generated images in this
directory, however a number of tests generate their own local output
files.

This patch updates these tests to write their output into
CAIRO_TEST_OUTPUT_DIR (which defaults to cairo/test/output) as well, in
the interest of decluttering the test directory.

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
---
 test/create-for-stream.c  |    6 +++---
 test/multi-page.c         |    5 +++--
 test/pdf-features.c       |    3 ++-
 test/pdf-mime-data.c      |    9 +++++----
 test/pdf-surface-source.c |    4 +++-
 test/png.c                |    3 ++-
 test/ps-features.c        |    3 ++-
 test/ps-surface-source.c  |    4 +++-
 test/svg-clip.c           |    3 ++-
 test/svg-surface-source.c |    4 +++-
 test/svg-surface.c        |    3 ++-
 11 files changed, 30 insertions(+), 17 deletions(-)

diff --git a/test/create-for-stream.c b/test/create-for-stream.c
index 3dde378..e999795 100644
--- a/test/create-for-stream.c
+++ b/test/create-for-stream.c
@@ -247,7 +247,7 @@ preamble (cairo_test_context_t *ctx)
 	if (status == CAIRO_TEST_UNTESTED)
 	    status = CAIRO_TEST_SUCCESS;
 
-	test_status = test_surface (ctx, "ps", BASENAME ".ps",
+	test_status = test_surface (ctx, "ps",  CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".ps",
 				    cairo_ps_surface_create,
 				    cairo_ps_surface_create_for_stream);
 	cairo_test_log (ctx, "TEST: %s TARGET: %s RESULT: %s\n",
@@ -263,7 +263,7 @@ preamble (cairo_test_context_t *ctx)
 	if (status == CAIRO_TEST_UNTESTED)
 	    status = CAIRO_TEST_SUCCESS;
 
-	test_status = test_surface (ctx, "pdf", BASENAME ".pdf",
+	test_status = test_surface (ctx, "pdf", CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".pdf",
 				    cairo_pdf_surface_create,
 				    cairo_pdf_surface_create_for_stream);
 	cairo_test_log (ctx, "TEST: %s TARGET: %s RESULT: %s\n",
@@ -281,7 +281,7 @@ preamble (cairo_test_context_t *ctx)
 	if (status == CAIRO_TEST_UNTESTED)
 	    status = CAIRO_TEST_SUCCESS;
 
-	test_status = test_surface (ctx, "svg", BASENAME ".svg",
+	test_status = test_surface (ctx, "svg", CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".svg",
 				    cairo_svg_surface_create,
 				    cairo_svg_surface_create_for_stream);
 	cairo_test_log (ctx, "TEST: %s TARGET: %s RESULT: %s\n",
diff --git a/test/multi-page.c b/test/multi-page.c
index 0b73902..dea3b42 100644
--- a/test/multi-page.c
+++ b/test/multi-page.c
@@ -51,6 +51,7 @@
 #define HEIGHT_IN_INCHES 3
 #define WIDTH_IN_POINTS  (WIDTH_IN_INCHES  * 72.0)
 #define HEIGHT_IN_POINTS (HEIGHT_IN_INCHES * 72.0)
+#define BASENAME         "multi-page.out"
 
 static void
 draw_smiley (cairo_t *cr, double width, double height, double smile_ratio)
@@ -142,7 +143,7 @@ preamble (cairo_test_context_t *ctx)
 	if (result == CAIRO_TEST_UNTESTED)
 	    result = CAIRO_TEST_SUCCESS;
 
-	filename = "multi-page.out.ps";
+	filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".ps";
 	surface = cairo_ps_surface_create (filename,
 					   WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
 	status = cairo_surface_status (surface);
@@ -165,7 +166,7 @@ preamble (cairo_test_context_t *ctx)
 	if (result == CAIRO_TEST_UNTESTED)
 	    result = CAIRO_TEST_SUCCESS;
 
-	filename = "multi-page.out.pdf";
+	filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".pdf";
 	surface = cairo_pdf_surface_create (filename,
 					    WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
 	status = cairo_surface_status (surface);
diff --git a/test/pdf-features.c b/test/pdf-features.c
index f8850c4..c5f6bea 100644
--- a/test/pdf-features.c
+++ b/test/pdf-features.c
@@ -39,6 +39,7 @@
 #define INCHES_TO_POINTS(in) ((in) * 72.0)
 #define MM_TO_POINTS(mm) ((mm) / 25.4 * 72.0)
 #define TEXT_SIZE 12
+#define BASENAME "pdf-features.out"
 
 static struct {
     const char *page_size;
@@ -84,11 +85,11 @@ static struct {
 static cairo_test_status_t
 preamble (cairo_test_context_t *ctx)
 {
-    const char *filename = "pdf-features.out.pdf";
     cairo_surface_t *surface;
     cairo_t *cr;
     cairo_status_t status;
     size_t i;
+    const char *filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".pdf";
 
     if (! cairo_test_is_target_enabled (ctx, "pdf"))
 	return CAIRO_TEST_UNTESTED;
diff --git a/test/pdf-mime-data.c b/test/pdf-mime-data.c
index 00cde9d..e4fbaa2 100644
--- a/test/pdf-mime-data.c
+++ b/test/pdf-mime-data.c
@@ -39,6 +39,7 @@
  * are not using a jpeg library */
 #define IMAGE_FILE "romedalen"
 
+#define BASENAME "pdf-mime-data.out"
 
 static cairo_test_status_t
 read_file (const cairo_test_context_t *ctx,
@@ -83,7 +84,7 @@ read_file (const cairo_test_context_t *ctx,
 static cairo_test_status_t
 preamble (cairo_test_context_t *ctx)
 {
-    const char *filename = "pdf-mime-data.out.pdf";
+    const char *filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".pdf";
     cairo_surface_t *image;
     cairo_surface_t *surface;
     cairo_t *cr;
@@ -134,7 +135,7 @@ preamble (cairo_test_context_t *ctx)
 
     printf ("pdf-mime-data: Please check %s to ensure it looks/prints correctly.\n", filename);
 
-    sprintf (command, "pdfimages -j %s pdf-mime-data.out", filename);
+    sprintf (command, "pdfimages -j %s %s", filename, CAIRO_TEST_OUTPUT_DIR "/" BASENAME);
     exit_status = system (command);
     if (exit_status) {
 	cairo_test_log (ctx, "pdfimages failed with exit status %d\n", exit_status);
@@ -147,12 +148,12 @@ preamble (cairo_test_context_t *ctx)
 	return test_status;
     }
 
-    test_status = read_file (ctx, "pdf-mime-data.out-000.jpg", &out_data, &out_len);
+    test_status = read_file (ctx, CAIRO_TEST_OUTPUT_DIR "/" BASENAME "-000.jpg", &out_data, &out_len);
     if (test_status) {
 	free (data);
 	cairo_test_log (ctx,
 			"Could not read input jpeg file %s\n",
-			"pdf-mime-data.out-000.jpg");
+			CAIRO_TEST_OUTPUT_DIR "/" BASENAME "-000.jpg");
 	return test_status;
     }
 
diff --git a/test/pdf-surface-source.c b/test/pdf-surface-source.c
index 078af3a..6307271 100644
--- a/test/pdf-surface-source.c
+++ b/test/pdf-surface-source.c
@@ -28,12 +28,14 @@
 
 #include "surface-source.c"
 
+#define BASENAME "pdf-surface-source.out"
+
 static cairo_surface_t *
 create_source_surface (int size)
 {
     cairo_surface_t *surface;
 
-    surface = cairo_pdf_surface_create ("pdf-surface-source.out.pdf", size, size);
+    surface = cairo_pdf_surface_create (CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".pdf", size, size);
     cairo_surface_set_fallback_resolution (surface, 72., 72.);
 
     return surface;
diff --git a/test/png.c b/test/png.c
index 3980ddc..1dfc793 100644
--- a/test/png.c
+++ b/test/png.c
@@ -30,6 +30,7 @@
 /* Test the idempotency of write_png->read_png */
 
 #define RGB_MASK 0x00ffffff
+#define BASENAME "png.out"
 
 static cairo_bool_t
 image_surface_equals (cairo_surface_t *A, cairo_surface_t *B)
@@ -77,7 +78,7 @@ 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 = "png.out.png";
+    const char *filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".png";
     cairo_surface_t *surface0, *surface1;
     cairo_status_t status;
     uint32_t argb32 = 0xdeadbede;
diff --git a/test/ps-features.c b/test/ps-features.c
index e3cf9b4..2eb9ace 100644
--- a/test/ps-features.c
+++ b/test/ps-features.c
@@ -42,6 +42,7 @@
 #define INCHES_TO_POINTS(in) ((in) * 72.0)
 #define MM_TO_POINTS(mm) ((mm) / 25.4 * 72.0)
 #define TEXT_SIZE 12
+#define BASENAME "ps-features.out"
 
 static struct {
     const char *page_size;
@@ -100,7 +101,7 @@ preamble (cairo_test_context_t *ctx)
 	return CAIRO_TEST_UNTESTED;
     }
 
-    filename = "ps-features.out.ps";
+    filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".ps";
 
     /* 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
diff --git a/test/ps-surface-source.c b/test/ps-surface-source.c
index 37f57ee..3573cb2 100644
--- a/test/ps-surface-source.c
+++ b/test/ps-surface-source.c
@@ -28,12 +28,14 @@
 
 #include "surface-source.c"
 
+#define BASENAME "ps-surface-source.out"
+
 static cairo_surface_t *
 create_source_surface (int size)
 {
     cairo_surface_t *surface;
 
-    surface = cairo_ps_surface_create ("ps-surface-source.out.ps", size, size);
+    surface = cairo_ps_surface_create (CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".ps", size, size);
     cairo_surface_set_fallback_resolution (surface, 72., 72.);
 
     return surface;
diff --git a/test/svg-clip.c b/test/svg-clip.c
index 035b236..149033b 100644
--- a/test/svg-clip.c
+++ b/test/svg-clip.c
@@ -32,6 +32,7 @@
 
 #define WIDTH_IN_POINTS 600
 #define HEIGHT_IN_POINTS 600
+#define BASENAME "svg-clip.out"
 
 static void
 test_clip (cairo_t *cr, double width, double height)
@@ -107,7 +108,7 @@ static cairo_test_status_t
 preamble (cairo_test_context_t *ctx)
 {
     cairo_t *cr;
-    const char *filename = "svg-clip.out.svg";
+    const char *filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".svg";
     cairo_surface_t *surface;
 
     if (! cairo_test_is_target_enabled (ctx, "svg11") &&
diff --git a/test/svg-surface-source.c b/test/svg-surface-source.c
index c97d3ca..2c33980 100644
--- a/test/svg-surface-source.c
+++ b/test/svg-surface-source.c
@@ -28,12 +28,14 @@
 
 #include "surface-source.c"
 
+#define BASENAME "svg-surface-source.out"
+
 static cairo_surface_t *
 create_source_surface (int size)
 {
     cairo_surface_t *surface;
 
-    surface = cairo_svg_surface_create ("svg-surface-source.out.svg",
+    surface = cairo_svg_surface_create (CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".svg",
 					size, size);
     cairo_surface_set_fallback_resolution (surface, 72., 72.);
 
diff --git a/test/svg-surface.c b/test/svg-surface.c
index 4e29f1b..30cf994 100644
--- a/test/svg-surface.c
+++ b/test/svg-surface.c
@@ -37,6 +37,7 @@
 #define HEIGHT_IN_INCHES 3
 #define WIDTH_IN_POINTS  (WIDTH_IN_INCHES  * 72)
 #define HEIGHT_IN_POINTS (HEIGHT_IN_INCHES * 72)
+#define BASENAME "svg-surface.out"
 
 static cairo_test_status_t
 draw (cairo_t *cr, int width, int height)
@@ -90,7 +91,7 @@ static cairo_test_status_t
 preamble (cairo_test_context_t *ctx)
 {
     cairo_t *cr;
-    const char *filename = "svg-surface.out.svg";
+    const char *filename = CAIRO_TEST_OUTPUT_DIR "/" BASENAME ".svg";
     cairo_surface_t *surface;
 
     if (! cairo_test_is_target_enabled (ctx, "svg11") &&
-- 
1.7.9.5


More information about the cairo mailing list