diff options
Diffstat (limited to 'test cases/wayland')
-rw-r--r-- | test cases/wayland/1 client/both.c | 11 | ||||
-rw-r--r-- | test cases/wayland/1 client/client.c | 9 | ||||
-rw-r--r-- | test cases/wayland/1 client/local.c | 9 | ||||
-rw-r--r-- | test cases/wayland/1 client/meson.build | 48 | ||||
-rw-r--r-- | test cases/wayland/1 client/server.c | 9 | ||||
-rw-r--r-- | test cases/wayland/1 client/test.xml | 6 | ||||
-rw-r--r-- | test cases/wayland/2 core only/core.c | 9 | ||||
-rw-r--r-- | test cases/wayland/2 core only/meson.build | 14 |
8 files changed, 115 insertions, 0 deletions
diff --git a/test cases/wayland/1 client/both.c b/test cases/wayland/1 client/both.c new file mode 100644 index 0000000..b6e1bab --- /dev/null +++ b/test cases/wayland/1 client/both.c @@ -0,0 +1,11 @@ +#include "viewporter-client-protocol.h" +#include "viewporter-server-protocol.h" + +int main() { +#if defined(VIEWPORTER_CLIENT_PROTOCOL_H) && \ + defined(VIEWPORTER_SERVER_PROTOCOL_H) + return 0; +#else + return 1; +#endif +} diff --git a/test cases/wayland/1 client/client.c b/test cases/wayland/1 client/client.c new file mode 100644 index 0000000..4966721 --- /dev/null +++ b/test cases/wayland/1 client/client.c @@ -0,0 +1,9 @@ +#include "xdg-shell-client-protocol.h" + +int main() { +#ifdef XDG_SHELL_CLIENT_PROTOCOL_H + return 0; +#else + return 1; +#endif +} diff --git a/test cases/wayland/1 client/local.c b/test cases/wayland/1 client/local.c new file mode 100644 index 0000000..97bfa56 --- /dev/null +++ b/test cases/wayland/1 client/local.c @@ -0,0 +1,9 @@ +#include "test-client-protocol.h" + +int main() { +#ifdef TEST_CLIENT_PROTOCOL_H + return 0; +#else + return 1; +#endif +} diff --git a/test cases/wayland/1 client/meson.build b/test cases/wayland/1 client/meson.build new file mode 100644 index 0000000..cb13db2 --- /dev/null +++ b/test cases/wayland/1 client/meson.build @@ -0,0 +1,48 @@ +project('wayland-test-client', 'c') + +wl_protocols_dep = dependency('wayland-protocols', required : false) +if not wl_protocols_dep.found() + error('MESON_SKIP_TEST: wayland-protocols not installed') +endif + +wl_client_dep = dependency('wayland-client') +wl_server_dep = dependency('wayland-server') +wl_mod = import('unstable-wayland') +fs = import('fs') + +# Client side only +xdg_shell_xml = wl_mod.find_protocol('xdg-shell') +xdg_shell = wl_mod.scan_xml(xdg_shell_xml) +assert(xdg_shell.length() == 2) +assert(fs.name(xdg_shell[0].full_path()) == 'xdg-shell-protocol.c') +assert(fs.name(xdg_shell[1].full_path()) == 'xdg-shell-client-protocol.h') +exe = executable('client', 'client.c', xdg_shell, dependencies : wl_client_dep) +test('client', exe) + +# Server side only +presentation_time_xml = wl_mod.find_protocol('presentation-time') +presentation_time = wl_mod.scan_xml(presentation_time_xml, client : false, server : true) +assert(presentation_time.length() == 2) +assert(fs.name(presentation_time[0].full_path()) == 'presentation-time-protocol.c') +assert(fs.name(presentation_time[1].full_path()) == 'presentation-time-server-protocol.h') +exe = executable('server', 'server.c', presentation_time, dependencies : wl_server_dep) +test('server', exe) + +# Both sides +viewporter_xml = wl_mod.find_protocol('viewporter') +viewporter = wl_mod.scan_xml(viewporter_xml, client : true, server : true) +assert(viewporter.length() == 3) +assert(fs.name(viewporter[0].full_path()) == 'viewporter-protocol.c') +assert(fs.name(viewporter[1].full_path()) == 'viewporter-client-protocol.h') +assert(fs.name(viewporter[2].full_path()) == 'viewporter-server-protocol.h') +exe = executable('both', 'both.c', viewporter, dependencies : [wl_client_dep, wl_server_dep]) +test('both', exe) + +# Local xml +xmls = files('test.xml') +gen = wl_mod.scan_xml(xmls) +assert(gen.length() == 2) +assert(fs.name(gen[0].full_path()) == 'test-protocol.c') +assert(fs.name(gen[1].full_path()) == 'test-client-protocol.h') +exe = executable('local', 'local.c', gen, dependencies : wl_client_dep) +test('local', exe) diff --git a/test cases/wayland/1 client/server.c b/test cases/wayland/1 client/server.c new file mode 100644 index 0000000..e073a7b --- /dev/null +++ b/test cases/wayland/1 client/server.c @@ -0,0 +1,9 @@ +#include "presentation-time-server-protocol.h" + +int main() { +#ifdef PRESENTATION_TIME_SERVER_PROTOCOL_H + return 0; +#else + return 1; +#endif +} diff --git a/test cases/wayland/1 client/test.xml b/test cases/wayland/1 client/test.xml new file mode 100644 index 0000000..f3c6db1 --- /dev/null +++ b/test cases/wayland/1 client/test.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<protocol name="test"> + <interface name="ext_test" version="1"> + <request name="destroy" type="destructor"/> + </interface> +</protocol> diff --git a/test cases/wayland/2 core only/core.c b/test cases/wayland/2 core only/core.c new file mode 100644 index 0000000..5bb55e5 --- /dev/null +++ b/test cases/wayland/2 core only/core.c @@ -0,0 +1,9 @@ +#include <xdg-shell-client-protocol.h> + +int main() { +#if defined(XDG_SHELL_CLIENT_PROTOCOL_H) && !defined(WAYLAND_CLIENT_H) && !defined(WAYLAND_CLIENT_PROTOCOL_H) + return 0; +#else + return 1; +#endif +} diff --git a/test cases/wayland/2 core only/meson.build b/test cases/wayland/2 core only/meson.build new file mode 100644 index 0000000..a35e981 --- /dev/null +++ b/test cases/wayland/2 core only/meson.build @@ -0,0 +1,14 @@ +project('wayland-test-core-only', 'c') + +wl_protocols_dep = dependency('wayland-protocols', required : false) +if not wl_protocols_dep.found() + error('MESON_SKIP_TEST: wayland-protocols not installed') +endif + +wl_mod = import('unstable-wayland') +wl_client_dep = dependency('wayland-client') + +xdg_shell_xml = wl_mod.find_protocol('xdg-shell') +xdg_shell = wl_mod.scan_xml(xdg_shell_xml, include_core_only : true) +exe = executable('core', 'core.c', xdg_shell, dependencies : wl_client_dep) +test('core', exe) |