1py3 = import('python').find_installation() 2 3subdir('bench') 4 5test_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# Problem: to generate trace events, we'd have to add the .trace-events 35# file to qapi_trace_events like we do in qapi/meson.build. Since 36# qapi_trace_events is used by trace/meson.build, we'd have to move 37# subdir('tests') above subdir('trace') in the top-level meson.build. 38# Can't, because it would break the dependency of qga on qemuutil (which 39# depends on trace_ss). Not worth solving now; simply suppress trace 40# event generation instead. 41test_qapi_files = custom_target('Test QAPI files', 42 output: test_qapi_outputs, 43 input: files('qapi-schema/qapi-schema-test.json', 44 'qapi-schema/include/sub-module.json', 45 'qapi-schema/sub-sub-module.json'), 46 command: [ qapi_gen, '-o', meson.current_build_dir(), 47 '-b', '-p', 'test-', '@INPUT0@', 48 '--suppress-tracing' ], 49 depend_files: qapi_gen_depends) 50 51# meson doesn't like generated output in other directories 52# perhaps change qapi_gen to replace / with _, like Meson itself does? 53subdir('include') 54 55test_qapi_sources = [] 56test_qapi_headers = [] 57i = 0 58foreach o: test_qapi_files.to_list() + test_qapi_files_extra.to_list() 59 if o.full_path().endswith('.h') 60 test_qapi_headers += o 61 endif 62 test_qapi_sources += o 63endforeach 64 65libtestqapi = static_library('testqapi', sources: [genh, test_qapi_sources]) 66testqapi = declare_dependency(link_with: libtestqapi, sources: [genh, test_qapi_headers]) 67 68test_deps = { 69 'test-qht-par': qht_bench, 70} 71 72if have_tools and 'CONFIG_VHOST_USER' in config_host and 'CONFIG_LINUX' in config_host 73 executable('vhost-user-bridge', 74 sources: files('vhost-user-bridge.c'), 75 dependencies: [qemuutil, vhost_user]) 76endif 77 78test('decodetree', sh, 79 args: [ files('decode/check.sh'), config_host['PYTHON'], files('../scripts/decodetree.py') ], 80 workdir: meson.current_source_dir() / 'decode', 81 suite: 'decodetree') 82 83if 'CONFIG_TCG' in config_all 84 subdir('fp') 85endif 86 87if not get_option('tcg').disabled() 88 if 'CONFIG_PLUGIN' in config_host 89 subdir('plugin') 90 endif 91endif 92 93subdir('unit') 94subdir('qapi-schema') 95subdir('qtest') 96subdir('migration') 97