[cairo-commit] test/font-face-get-type.c

Jeff Muizelaar jrmuizel at kemper.freedesktop.org
Tue Dec 23 14:15:55 PST 2008


 test/font-face-get-type.c |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

New commits:
commit a303bbaea332df20b81f068366d701d66913c043
Author: Jeff Muizelaar <jmuizelaar at mozilla.com>
Date:   Tue Dec 23 16:12:56 2008 -0500

    [font-face-get-type] Fix test to cleanup the surface and context properly
    
    Destroy the context and the surface even when the test fails.
    
    I ran into this because cairo_debug_reset_static_data() is called between the
    tests on the quartz backend (it doesn't fork) and isn't on other backends? This
    is perhaps a mistake...

diff --git a/test/font-face-get-type.c b/test/font-face-get-type.c
index f6355e3..05a763d 100644
--- a/test/font-face-get-type.c
+++ b/test/font-face-get-type.c
@@ -28,6 +28,7 @@
 static cairo_test_status_t
 preamble (cairo_test_context_t *ctx)
 {
+    cairo_test_status_t status = CAIRO_TEST_SUCCESS;
     cairo_surface_t *surface;
     cairo_t *cr;
     cairo_font_face_t *font_face;
@@ -49,7 +50,8 @@ preamble (cairo_test_context_t *ctx)
     if (cairo_font_face_get_type (font_face) != CAIRO_FONT_TYPE_TOY) {
 	cairo_test_log (ctx, "Unexpected value %d from cairo_font_face_get_type (expected %d)\n",
 			cairo_font_face_get_type (font_face), CAIRO_FONT_TYPE_TOY);
-	return CAIRO_TEST_FAILURE;
+	status = CAIRO_TEST_FAILURE;
+	goto done;
     }
 
     cairo_test_log (ctx, "Testing return value of cairo_get_scaled_font\n");
@@ -58,13 +60,15 @@ preamble (cairo_test_context_t *ctx)
 
     if (cairo_scaled_font_get_font_face (scaled_font) != font_face) {
 	cairo_test_log (ctx, "Font face returned from the scaled font is different from that returned by the context\n");
-	return CAIRO_TEST_FAILURE;
+	status = CAIRO_TEST_FAILURE;
+	goto done;
     }
 
+done:
     cairo_destroy (cr);
     cairo_surface_destroy (surface);
 
-    return CAIRO_TEST_SUCCESS;
+    return status;
 }
 
 CAIRO_TEST (font_face_get_type,


More information about the cairo-commit mailing list