Configure github pages
[platform/upstream/libxkbcommon.git] / test / x11.c
index 232e136..00f3a96 100644 (file)
@@ -21,6 +21,8 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include "config.h"
+
 #include "test.h"
 #include "xkbcommon/xkbcommon-x11.h"
 
@@ -34,6 +36,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 +44,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 +78,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;
 }