From: Ran Benita Date: Tue, 12 Dec 2017 13:57:58 +0000 (+0200) Subject: test/x11: properly clean up also when skipping test X-Git-Tag: xkbcommon-0.8.0~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=29998c258c805344b5f3fae9a347f39cfc5d5447;p=platform%2Fupstream%2Flibxkbcommon.git test/x11: properly clean up also when skipping test To make valgrind happy. Signed-off-by: Ran Benita --- diff --git a/test/x11.c b/test/x11.c index 232e136..17e8ad8 100644 --- a/test/x11.c +++ b/test/x11.c @@ -34,6 +34,7 @@ main(void) struct xkb_keymap *keymap; struct xkb_state *state; char *dump; + int exit_code = 0; /* * The next two steps depend on a running X server with XKB support. @@ -41,16 +42,20 @@ main(void) * So we don't want a FAIL here. */ conn = xcb_connect(NULL, NULL); - if (!conn || xcb_connection_has_error(conn)) - return SKIP_TEST; + if (!conn || xcb_connection_has_error(conn)) { + exit_code = SKIP_TEST; + goto err_conn; + } ret = xkb_x11_setup_xkb_extension(conn, XKB_X11_MIN_MAJOR_XKB_VERSION, XKB_X11_MIN_MINOR_XKB_VERSION, XKB_X11_SETUP_XKB_EXTENSION_NO_FLAGS, NULL, NULL, NULL, NULL); - if (!ret) - return SKIP_TEST; + if (!ret) { + exit_code = SKIP_TEST; + goto err_conn; + } device_id = xkb_x11_get_core_keyboard_device_id(conn); assert(device_id != -1); @@ -71,8 +76,9 @@ main(void) free(dump); xkb_state_unref(state); xkb_keymap_unref(keymap); +err_conn: xcb_disconnect(conn); xkb_context_unref(ctx); - return 0; + return exit_code; }