summaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-05-02 12:41:23 +0000
committerKitware Robot <kwrobot@kitware.com>2023-05-02 08:41:43 -0400
commit5b4ed96ddc3239120d90d87b56d2fca329dc44dd (patch)
tree1d3221034b619bfcc6ef90967ddcb3fd0efd73fe /Tests
parentc096fec689f4a4b4dd11b714233a4c2a74bfaa4e (diff)
parent65ade59835848720ec6f26daa5af32a5f780d4be (diff)
downloadcmake-5b4ed96ddc3239120d90d87b56d2fca329dc44dd.tar.gz
Merge topic 'FindX11-even-more-xcb-components'
65ade59835 FindX11: Remove HAS_X11_xcb check from xcb tests b1b7298b17 FindX11: Fix typo bug, xvmc -> xv 922a97f38a FindX11: Add tests for newly added xcb libraries 7a2b02e000 FindX11: Fix existing tests 9d21d115c6 FindX11: Add more components to FindX11 tests 858fd8ece8 FindX11: Add many new xcb modules 45c3831369 FindX11: Arrange xcb modules in proper alphabetical order a0d8556bf7 FindX11: Change find_path search string for Xaw Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8366
Diffstat (limited to 'Tests')
-rw-r--r--Tests/FindX11/Test/CMakeLists.txt51
-rw-r--r--Tests/FindX11/Test/main.c527
2 files changed, 537 insertions, 41 deletions
diff --git a/Tests/FindX11/Test/CMakeLists.txt b/Tests/FindX11/Test/CMakeLists.txt
index e39ffb1eff..3312f6f772 100644
--- a/Tests/FindX11/Test/CMakeLists.txt
+++ b/Tests/FindX11/Test/CMakeLists.txt
@@ -32,16 +32,38 @@ test_x11_component(x11_components Xau)
test_x11_component(x11_components Xaw)
test_x11_component(x11_components xcb)
test_x11_component(x11_components X11_xcb)
+test_x11_component(x11_components xcb_composite)
test_x11_component(x11_components xcb_cursor)
+test_x11_component(x11_components xcb_damage)
+test_x11_component(x11_components xcb_dpms)
+test_x11_component(x11_components xcb_dri2)
+test_x11_component(x11_components xcb_dri3)
+test_x11_component(x11_components xcb_errors)
+test_x11_component(x11_components xcb_ewmh)
+test_x11_component(x11_components xcb_glx)
test_x11_component(x11_components xcb_icccm)
+test_x11_component(x11_components xcb_image)
+test_x11_component(x11_components xcb_keysyms)
+test_x11_component(x11_components xcb_present)
test_x11_component(x11_components xcb_randr)
+test_x11_component(x11_components xcb_record)
+test_x11_component(x11_components xcb_render)
+test_x11_component(x11_components xcb_render_util)
+test_x11_component(x11_components xcb_res)
+test_x11_component(x11_components xcb_screensaver)
test_x11_component(x11_components xcb_shape)
+test_x11_component(x11_components xcb_shm)
+test_x11_component(x11_components xcb_sync)
test_x11_component(x11_components xcb_util)
+test_x11_component(x11_components xcb_xf86dri)
test_x11_component(x11_components xcb_xfixes)
+test_x11_component(x11_components xcb_xinerama)
+test_x11_component(x11_components xcb_xinput)
+test_x11_component(x11_components xcb_xkb)
test_x11_component(x11_components xcb_xrm)
test_x11_component(x11_components xcb_xtest)
-test_x11_component(x11_components xcb_keysyms)
-test_x11_component(x11_components xcb_xkb)
+test_x11_component(x11_components xcb_xvmc)
+test_x11_component(x11_components xcb_xv)
test_x11_component(x11_components Xcomposite)
test_x11_component(x11_components Xdamage)
test_x11_component(x11_components Xdmcp)
@@ -79,13 +101,38 @@ foreach(lib
Xaw
xcb
X11_xcb
+ xcb_composite
xcb_cursor
+ xcb_damage
+ xcb_dpms
+ xcb_dri2
+ xcb_dri3
+ xcb_errors
+ xcb_ewmh
+ xcb_glx
xcb_icccm
+ xcb_image
+ xcb_keysyms
+ xcb_present
xcb_randr
+ xcb_record
+ xcb_render
+ xcb_render_util
+ xcb_res
+ xcb_screensaver
xcb_shape
+ xcb_shm
+ xcb_sync
xcb_util
+ xcb_xf86dri
xcb_xfixes
+ xcb_xinerama
+ xcb_xinput
+ xcb_xkb
xcb_xrm
+ xcb_xtest
+ xcb_xvmc
+ xcb_xv
Xcomposite
Xdamage
Xdmcp
diff --git a/Tests/FindX11/Test/main.c b/Tests/FindX11/Test/main.c
index 5240de0f68..2542145e5f 100644
--- a/Tests/FindX11/Test/main.c
+++ b/Tests/FindX11/Test/main.c
@@ -326,7 +326,7 @@ static void test_Xaw(void)
#endif
-#ifdef HAVE_xcb
+#ifdef HAVE_X11_xcb
# include <xcb/xcb.h>
static void test_xcb(void)
@@ -336,24 +336,216 @@ static void test_xcb(void)
xcb_disconnect(connection);
}
-# ifdef HAVE_xcb_cursor
-# include <xcb/xcb_cursor.h>
+#endif
+
+#ifdef HAVE_X11_xcb_composite
+# include <xcb/composite.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_composite(void)
+{
+ xcb_connection_t* connection = xcb_connect(NULL, NULL);
+ xcb_composite_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_cursor
+# include <xcb/xcb.h>
+# include <xcb/xcb_cursor.h>
static void test_xcb_cursor(void)
{
int screen_nbr;
xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
- xcb_screen_t* screen = xcb_aux_get_screen(conn, screen_nbr);
+ xcb_screen_iterator_t screens =
+ xcb_setup_roots_iterator(xcb_get_setup(connection));
xcb_cursor_context_t* ctx;
- xcb_cursor_context_new(connection, screen, &ctx);
+ xcb_cursor_context_new(connection, screens.data, &ctx);
xcb_cursor_context_free(ctx);
xcb_disconnect(connection);
}
-# endif
+#endif
-# ifdef HAVE_xcb_randr
-# include <xcb/randr.h>
+#ifdef HAVE_X11_xcb_damage
+# include <xcb/damage.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_damage(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_damage_query_version_cookie_t cookie =
+ xcb_damage_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_dpms
+# include <xcb/dpms.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_dpms(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_dpms_get_version_cookie_t cookie =
+ xcb_dpms_get_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_dri2
+# include <xcb/dri2.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_dri2(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_dri2_query_version_cookie_t cookie =
+ xcb_dri2_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_dri3
+# include <xcb/dri3.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_dri3(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_dri3_query_version_cookie_t cookie =
+ xcb_dri3_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_errors
+# include <xcb/xcb.h>
+# include <xcb/xcb_errors.h>
+
+static void test_xcb_errors(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_errors_context_t* context;
+ xcb_errors_context_new(connection, &context);
+ xcb_errors_context_free(context);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_ewmh
+# include <xcb/xcb.h>
+# include <xcb/xcb_ewmh.h>
+
+static void test_xcb_ewmh(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_ewmh_connection_t ewmh_connection;
+ xcb_intern_atom_cookie_t* cookie =
+ xcb_ewmh_init_atoms(connection, &ewmh_connection);
+ xcb_ewmh_init_atoms_replies(&ewmh_connection, cookie, NULL);
+ xcb_ewmh_connection_wipe(&ewmh_connection);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_glx
+# include <xcb/glx.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_glx(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_glx_query_version_cookie_t cookie =
+ xcb_glx_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_icccm
+# include <xcb/xcb.h>
+# include <xcb/xcb_icccm.h>
+
+static void test_xcb_icccm(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_window_t root =
+ xcb_setup_roots_iterator(xcb_get_setup(connection)).data->root;
+ xcb_get_property_cookie_t cookie = xcb_icccm_get_wm_name(connection, root);
+ xcb_icccm_get_text_property_reply_t reply;
+ xcb_icccm_get_wm_name_reply(connection, cookie, &reply, NULL);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_image
+# include <xcb/xcb.h>
+# include <xcb/xcb_image.h>
+
+static void test_xcb_image(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ // xcb_image is too convoluted/undocumented to make an
+ // actually working example, apologies :)
+ xcb_image_create(0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_keysyms
+# include <xcb/xcb.h>
+# include <xcb/xcb_keysyms.h>
+
+static void test_xcb_keysyms(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_key_symbols_t* symbols = xcb_key_symbols_alloc(connection);
+ if (symbols != NULL)
+ xcb_key_symbols_free(symbols);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_present
+# include <xcb/present.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_present(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_present_query_version_cookie_t cookie =
+ xcb_present_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_randr
+# include <xcb/randr.h>
+# include <xcb/xcb.h>
static void test_xcb_randr(void)
{
@@ -364,10 +556,86 @@ static void test_xcb_randr(void)
xcb_disconnect(connection);
}
-# endif
+#endif
+
+#ifdef HAVE_X11_xcb_record
+# include <xcb/record.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_record(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_record_query_version_cookie_t cookie =
+ xcb_record_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
-# ifdef HAVE_xcb_shape
-# include <xcb/shape.h>
+#endif
+
+#ifdef HAVE_X11_xcb_render
+# include <xcb/render.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_render(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_render_query_version_cookie_t cookie =
+ xcb_render_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_render_util
+# include <xcb/xcb.h>
+# include <xcb/xcb_renderutil.h>
+
+static void test_xcb_render_util(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ const xcb_render_query_version_reply_t* cookie =
+ xcb_render_util_query_version(connection);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_res
+# include <xcb/res.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_res(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_res_query_version_cookie_t cookie =
+ xcb_res_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_screensaver
+# include <xcb/screensaver.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_screensaver(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_screensaver_query_version_cookie_t cookie =
+ xcb_screensaver_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_shape
+# include <xcb/shape.h>
+# include <xcb/xcb.h>
static void test_xcb_shape(void)
{
@@ -378,10 +646,39 @@ static void test_xcb_shape(void)
xcb_disconnect(connection);
}
-# endif
+#endif
+
+#ifdef HAVE_X11_xcb_shm
+# include <xcb/shm.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_shm(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_shm_query_version_cookie_t cookie = xcb_shm_query_version(connection);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_sync
+# include <xcb/sync.h>
+# include <xcb/xcb.h>
+
+static void test_xcb_sync(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_sync_initialize_cookie_t cookie = xcb_sync_initialize(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
-# ifdef HAVE_xcb_util
-# include <xcb/xcb_aux.h>
+#ifdef HAVE_X11_xcb_util
+# include <xcb/xcb.h>
+# include <xcb/xcb_aux.h>
static void test_xcb_util(void)
{
@@ -391,10 +688,26 @@ static void test_xcb_util(void)
xcb_disconnect(connection);
}
-# endif
+#endif
+
+#ifdef HAVE_X11_xcb_xf86dri
+# include <xcb/xcb.h>
+# include <xcb/xf86dri.h>
+
+static void test_xcb_xf86dri(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_xf86dri_query_version_cookie_t cookie =
+ xcb_xf86dri_query_version(connection);
+ xcb_disconnect(connection);
+}
+
+#endif
-# ifdef HAVE_xcb_xfixes
-# include <xcb/xcb_xfixes.h>
+#ifdef HAVE_X11_xcb_xfixes
+# include <xcb/xcb.h>
+# include <xcb/xfixes.h>
static void test_xcb_xfixes(void)
{
@@ -404,10 +717,56 @@ static void test_xcb_xfixes(void)
xcb_disconnect(connection);
}
-# endif
+#endif
+
+#ifdef HAVE_X11_xcb_xinerama
+# include <xcb/xcb.h>
+# include <xcb/xinerama.h>
+
+static void test_xcb_xinerama(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_xinerama_query_version_cookie_t cookie =
+ xcb_xinerama_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_xinput
+# include <xcb/xcb.h>
+# include <xcb/xinput.h>
+
+static void test_xcb_xinput(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_input_xi_query_version_cookie_t cookie =
+ xcb_input_xi_query_version(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
+
+#ifdef HAVE_X11_xcb_xkb
+# include <xcb/xcb.h>
+# include <xcb/xkb.h>
+
+static void test_xcb_xkb(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_xkb_use_extension_cookie_t cookie =
+ xcb_xkb_use_extension(connection, 0, 0);
+ xcb_disconnect(connection);
+}
+
+#endif
-# ifdef HAVE_xcb_xrm
-# include <xcb/xcb_xrm.h>
+#ifdef HAVE_X11_xcb_xrm
+# include <xcb/xcb.h>
+# include <xcb/xcb_xrm.h>
static void test_xcb_xrm(void)
{
@@ -418,10 +777,11 @@ static void test_xcb_xrm(void)
xcb_disconnect(connection);
}
-# endif
+#endif
-# ifdef HAVE_xcb_xtest
-# include <xcb/xtest.h>
+#ifdef HAVE_X11_xcb_xtest
+# include <xcb/xcb.h>
+# include <xcb/xtest.h>
static void test_xcb_xtest(void)
{
@@ -431,22 +791,33 @@ static void test_xcb_xtest(void)
xcb_disconnect(connection);
}
-# endif
+#endif
-# ifdef HAVE_xcb_keysyms
-# include <xcb/xcb_keysyms.h>
+#ifdef HAVE_X11_xcb_xvmc
+# include <xcb/xcb.h>
+# include <xcb/xvmc.h>
-static void test_xcb_keysyms(void)
+static void test_xcb_xvmc(void)
{
int screen_nbr;
xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
- xcb_key_symbols_t* symbols = xcb_key_symbols_alloc(connection);
- if (symbols != NULL)
- xcb_key_symbols_free(symbols);
+ xcb_xvmc_query_version_cookie_t cookie = xcb_xvmc_query_version(connection);
xcb_disconnect(connection);
}
-# endif
+#endif
+
+#ifdef HAVE_X11_xcb_xv
+# include <xcb/xcb.h>
+# include <xcb/xv.h>
+
+static void test_xcb_xv(void)
+{
+ int screen_nbr;
+ xcb_connection_t* connection = xcb_connect(NULL, &screen_nbr);
+ xcb_xv_query_extension_cookie_t cookie = xcb_xv_query_extension(connection);
+ xcb_disconnect(connection);
+}
#endif
@@ -537,28 +908,105 @@ int main(int argc, char* argv[])
#ifdef HAVE_X11_Xaw
test_Xaw,
#endif
-#ifdef HAVE_xcb
+#ifdef HAVE_X11_xcb
test_xcb,
#endif
-#ifdef HAVE_xcb_cursor
+#ifdef HAVE_X11_xcb_composite
+ test_xcb_composite,
+#endif
+#ifdef HAVE_X11_xcb_cursor
test_xcb_cursor,
#endif
-#ifdef HAVE_xcb_randr
+#ifdef HAVE_X11_xcb_damage
+ test_xcb_damage,
+#endif
+#ifdef HAVE_X11_xcb_dpms
+ test_xcb_dpms,
+#endif
+#ifdef HAVE_X11_xcb_dri2
+ test_xcb_dri2,
+#endif
+#ifdef HAVE_X11_xcb_dri3
+ test_xcb_dri3,
+#endif
+#ifdef HAVE_X11_xcb_errors
+ test_xcb_errors,
+#endif
+#ifdef HAVE_X11_xcb_ewmh
+ test_xcb_ewmh,
+#endif
+#ifdef HAVE_X11_xcb_glx
+ test_xcb_glx,
+#endif
+#ifdef HAVE_X11_xcb_icccm
+ test_xcb_icccm,
+#endif
+#ifdef HAVE_X11_xcb_image
+ test_xcb_image,
+#endif
+#ifdef HAVE_X11_xcb_keysyms
+ test_xcb_keysyms,
+#endif
+#ifdef HAVE_X11_xcb_present
+ test_xcb_present,
+#endif
+#ifdef HAVE_X11_xcb_randr
test_xcb_randr,
#endif
-#ifdef HAVE_xcb_shape
+#ifdef HAVE_X11_xcb_record
+ test_xcb_record,
+#endif
+#ifdef HAVE_X11_xcb_render
+ test_xcb_render,
+#endif
+#ifdef HAVE_X11_xcb_render_util
+ test_xcb_render_util,
+#endif
+#ifdef HAVE_X11_xcb_res
+ test_xcb_res,
+#endif
+#ifdef HAVE_X11_xcb_screensaver
+ test_xcb_screensaver,
+#endif
+#ifdef HAVE_X11_xcb_shape
test_xcb_shape,
#endif
-#ifdef HAVE_xcb_util
+#ifdef HAVE_X11_xcb_shm
+ test_xcb_shm,
+#endif
+#ifdef HAVE_X11_xcb_sync
+ test_xcb_sync,
+#endif
+#ifdef HAVE_X11_xcb_util
test_xcb_util,
#endif
-#ifdef HAVE_xcb_xfixes
+#ifdef HAVE_X11_xcb_xf86dri
+ test_xcb_xf86dri,
+#endif
+#ifdef HAVE_X11_xcb_xfixes
test_xcb_xfixes,
#endif
-#ifdef HAVE_xcb_xrm
+#ifdef HAVE_X11_xcb_xinerama
+ test_xcb_xinerama,
+#endif
+#ifdef HAVE_X11_xcb_xinput
+ test_xcb_xinput,
+#endif
+#ifdef HAVE_X11_xcb_xkb
+ test_xcb_xkb,
+#endif
+#ifdef HAVE_X11_xcb_xrm
test_xcb_xrm,
#endif
-
+#ifdef HAVE_X11_xcb_xtest
+ test_xcb_xtest,
+#endif
+#ifdef HAVE_X11_xcb_xvmc
+ test_xcb_xvmc,
+#endif
+#ifdef HAVE_X11_xcb_xv
+ test_xcb_xv,
+#endif
NULL,
};
@@ -567,5 +1015,6 @@ int main(int argc, char* argv[])
// always 1 in the test harness which always returns the sentinel at the end
// of the array. The array logic is there to ensure that the contents of
// `fptrs` is not optimized out.
+#pragma GCC diagnostic ignored "-Wpointer-to-int-cast"
return (int)fptrs[(sizeof(fptrs) / sizeof(*fptrs)) - argc];
}