Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20211016' into staging
[qemu.git] / tests / meson.build
1 py3 = import('python').find_installation()
2
3 subdir('bench')
4
5 test_qapi_outputs = [
6   'qapi-builtin-types.c',
7   'qapi-builtin-types.h',
8   'qapi-builtin-visit.c',
9   'qapi-builtin-visit.h',
10   'test-qapi-commands-sub-sub-module.c',
11   'test-qapi-commands-sub-sub-module.h',
12   'test-qapi-commands.c',
13   'test-qapi-commands.h',
14   'test-qapi-emit-events.c',
15   'test-qapi-emit-events.h',
16   'test-qapi-events-sub-sub-module.c',
17   'test-qapi-events-sub-sub-module.h',
18   'test-qapi-events.c',
19   'test-qapi-events.h',
20   'test-qapi-init-commands.c',
21   'test-qapi-init-commands.h',
22   'test-qapi-introspect.c',
23   'test-qapi-introspect.h',
24   'test-qapi-types-sub-sub-module.c',
25   'test-qapi-types-sub-sub-module.h',
26   'test-qapi-types.c',
27   'test-qapi-types.h',
28   'test-qapi-visit-sub-sub-module.c',
29   'test-qapi-visit-sub-sub-module.h',
30   'test-qapi-visit.c',
31   'test-qapi-visit.h',
32 ]
33
34 test_qapi_files = custom_target('Test QAPI files',
35                                 output: test_qapi_outputs,
36                                 input: files('qapi-schema/qapi-schema-test.json',
37                                              'qapi-schema/include/sub-module.json',
38                                              'qapi-schema/sub-sub-module.json'),
39                                 command: [ qapi_gen, '-o', meson.current_build_dir(),
40                                            '-b', '-p', 'test-', '@INPUT0@' ],
41                                 depend_files: qapi_gen_depends)
42
43 # meson doesn't like generated output in other directories
44 # perhaps change qapi_gen to replace / with _, like Meson itself does?
45 subdir('include')
46
47 test_qapi_sources = []
48 test_qapi_headers = []
49 i = 0
50 foreach o: test_qapi_files.to_list() + test_qapi_files_extra.to_list()
51   if o.full_path().endswith('.h')
52     test_qapi_headers += o
53   endif
54   test_qapi_sources += o
55 endforeach
56
57 libtestqapi = static_library('testqapi', sources: [genh, test_qapi_sources])
58 testqapi = declare_dependency(link_with: libtestqapi, sources: [genh, test_qapi_headers])
59
60 test_deps = {
61   'test-qht-par': qht_bench,
62 }
63
64 if have_tools and 'CONFIG_VHOST_USER' in config_host and 'CONFIG_LINUX' in config_host
65   executable('vhost-user-bridge',
66              sources: files('vhost-user-bridge.c'),
67              dependencies: [qemuutil, vhost_user])
68 endif
69
70 if have_system and 'CONFIG_POSIX' in config_host
71   subdir('qemu-iotests')
72 endif
73
74 test('decodetree', sh,
75      args: [ files('decode/check.sh'), config_host['PYTHON'], files('../scripts/decodetree.py') ],
76      workdir: meson.current_source_dir() / 'decode',
77      suite: 'decodetree')
78
79 if 'CONFIG_TCG' in config_all
80   subdir('fp')
81 endif
82
83 if not get_option('tcg').disabled()
84   if 'CONFIG_PLUGIN' in config_host
85     subdir('plugin')
86   endif
87 endif
88
89 subdir('unit')
90 subdir('qapi-schema')
91 subdir('qtest')
92 subdir('migration')