summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2018-12-13 23:00:32 +0000
committerJon Turney <jon.turney@dronecode.org.uk>2018-12-14 11:32:31 +0000
commit0e541b10933377572373da48d1f2932ff095dcde (patch)
treeec1f832007cd303b9195a5af7b890668be9cfcd4 /test
parentfde27b9b4814b18aca6ec587bd3cfe9ab04b0c72 (diff)
downloadxserver-0e541b10933377572373da48d1f2932ff095dcde.tar.gz
meson: Add misc unit tests
v2: has_link_argument requires meson 0.46.0
Diffstat (limited to 'test')
-rw-r--r--test/meson.build70
1 files changed, 70 insertions, 0 deletions
diff --git a/test/meson.build b/test/meson.build
index 33b7941e0..89d8260ed 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -26,3 +26,73 @@ endif
subdir('bigreq')
subdir('damage')
subdir('sync')
+
+if build_xorg
+# Tests that require at least some DDX functions in order to fully link
+# For now, requires xf86 ddx, could be adjusted to use another
+ unit_sources = [
+ '../mi/miinitext.c',
+ 'fixes.c',
+ 'input.c',
+ 'list.c',
+ 'misc.c',
+ 'signal-logging.c',
+ 'string.c',
+ 'test_xkb.c',
+ 'tests-common.c',
+ 'tests.c',
+ 'touch.c',
+ 'xfree86.c',
+ 'xtest.c',
+ ]
+ unit_defines = ['-DXORG_TESTS']
+ unit_includes = [inc, xorg_inc]
+
+ if build_res
+ unit_sources += ['hashtabletest.c']
+ unit_defines += ['-DRES_TESTS']
+ endif
+
+ if meson.version().version_compare('>=0.46.0') and meson.get_compiler('c').has_link_argument('-Wl,-wrap')
+ unit_sources += [
+ 'xi1/protocol-xchangedevicecontrol.c',
+ 'xi2/protocol-common.c',
+ 'xi2/protocol-xiqueryversion.c',
+ 'xi2/protocol-xiquerydevice.c',
+ 'xi2/protocol-xiselectevents.c',
+ 'xi2/protocol-xigetselectedevents.c',
+ 'xi2/protocol-xisetclientpointer.c',
+ 'xi2/protocol-xigetclientpointer.c',
+ 'xi2/protocol-xiquerypointer.c',
+ 'xi2/protocol-xipassivegrabdevice.c',
+ 'xi2/protocol-xiwarppointer.c',
+ 'xi2/protocol-eventconvert.c',
+ 'xi2/xi2.c',
+ ]
+ unit_defines += ['-DLDWRAP_TESTS']
+ unit_includes += [include_directories('xi1', 'xi2')]
+ ldwraps = [
+ '-Wl,-wrap,dixLookupWindow',
+ '-Wl,-wrap,dixLookupClient',
+ '-Wl,-wrap,WriteToClient',
+ '-Wl,-wrap,dixLookupWindow',
+ '-Wl,-wrap,XISetEventMask',
+ '-Wl,-wrap,AddResource',
+ '-Wl,-wrap,GrabButton',
+ ]
+ else
+ ldwraps = []
+ message('ld -wrap required for xi1 & xi2 unit tests, skipping')
+ endif
+
+ unit = executable('tests',
+ unit_sources,
+ c_args: unit_defines,
+ dependencies: pixman_dep,
+ include_directories: unit_includes,
+ link_args: ldwraps,
+ link_with: xorg_link,
+ )
+
+ test('unit', unit)
+endif