summaryrefslogtreecommitdiff
path: root/test/font-face-get-type.c
diff options
context:
space:
mode:
authorJeff Muizelaar <jmuizelaar@mozilla.com>2008-12-23 16:12:56 -0500
committerJeff Muizelaar <jmuizelaar@mozilla.com>2008-12-23 16:12:56 -0500
commita303bbaea332df20b81f068366d701d66913c043 (patch)
tree76dc930df3b5787b9305e459e9ea9a8a9fcc7a74 /test/font-face-get-type.c
parent52cc31a7fa6570e538762631359a92e7b717710e (diff)
downloadcairo-a303bbaea332df20b81f068366d701d66913c043.tar.gz
[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...
Diffstat (limited to 'test/font-face-get-type.c')
-rw-r--r--test/font-face-get-type.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/test/font-face-get-type.c b/test/font-face-get-type.c
index f6355e37e..05a763da5 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,