[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...
This commit is contained in:
Jeff Muizelaar 2008-12-23 16:12:56 -05:00
parent 52cc31a7fa
commit a303bbaea3

View file

@ -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,