diff options
author | Ran Benita <ran234@gmail.com> | 2017-12-12 15:57:58 +0200 |
---|---|---|
committer | Ran Benita <ran234@gmail.com> | 2017-12-12 15:58:32 +0200 |
commit | 29998c258c805344b5f3fae9a347f39cfc5d5447 (patch) | |
tree | a924ec4ce24a236d0c8ff682f0f0a4f8ae56d90f | |
parent | 47f45194e497e1499a4d76d49b44372c5c104a10 (diff) | |
download | xorg-lib-libxkbcommon-29998c258c805344b5f3fae9a347f39cfc5d5447.tar.gz |
test/x11: properly clean up also when skipping test
To make valgrind happy.
Signed-off-by: Ran Benita <ran234@gmail.com>
-rw-r--r-- | test/x11.c | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -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; } |