xref: /openbmc/qemu/tests/meson.build (revision da668aa15b99150a8595c491aee00d5d2426aaf9)
1279588d4SMarc-André Lureaupy3 = import('python').find_installation()
2279588d4SMarc-André Lureau
3a9726a90SMarc-André Lureauqht_bench = executable('qht-bench',
4279588d4SMarc-André Lureau                       sources: 'qht-bench.c',
5a9726a90SMarc-André Lureau                       dependencies: [qemuutil])
6a9726a90SMarc-André Lureau
7a52f4a7aSMarc-André Lureauexecutable('atomic_add-bench',
8a52f4a7aSMarc-André Lureau           sources: files('atomic_add-bench.c'),
9a52f4a7aSMarc-André Lureau           dependencies: [qemuutil],
10a52f4a7aSMarc-André Lureau           build_by_default: false)
11a52f4a7aSMarc-André Lureau
12a52f4a7aSMarc-André Lureauexecutable('atomic64-bench',
13a52f4a7aSMarc-André Lureau           sources: files('atomic64-bench.c'),
14a52f4a7aSMarc-André Lureau           dependencies: [qemuutil],
15a52f4a7aSMarc-André Lureau           build_by_default: false)
16a52f4a7aSMarc-André Lureau
1737e27776SMarc-André Lureautest_qapi_outputs = [
1837e27776SMarc-André Lureau  'qapi-builtin-types.c',
1937e27776SMarc-André Lureau  'qapi-builtin-types.h',
2037e27776SMarc-André Lureau  'qapi-builtin-visit.c',
2137e27776SMarc-André Lureau  'qapi-builtin-visit.h',
2237e27776SMarc-André Lureau  'test-qapi-commands-sub-sub-module.c',
2337e27776SMarc-André Lureau  'test-qapi-commands-sub-sub-module.h',
2437e27776SMarc-André Lureau  'test-qapi-commands.c',
2537e27776SMarc-André Lureau  'test-qapi-commands.h',
2637e27776SMarc-André Lureau  'test-qapi-emit-events.c',
2737e27776SMarc-André Lureau  'test-qapi-emit-events.h',
2837e27776SMarc-André Lureau  'test-qapi-events-sub-sub-module.c',
2937e27776SMarc-André Lureau  'test-qapi-events-sub-sub-module.h',
3037e27776SMarc-André Lureau  'test-qapi-events.c',
3137e27776SMarc-André Lureau  'test-qapi-events.h',
3237e27776SMarc-André Lureau  'test-qapi-init-commands.c',
3337e27776SMarc-André Lureau  'test-qapi-init-commands.h',
3437e27776SMarc-André Lureau  'test-qapi-introspect.c',
3537e27776SMarc-André Lureau  'test-qapi-introspect.h',
3637e27776SMarc-André Lureau  'test-qapi-types-sub-sub-module.c',
3737e27776SMarc-André Lureau  'test-qapi-types-sub-sub-module.h',
3837e27776SMarc-André Lureau  'test-qapi-types.c',
3937e27776SMarc-André Lureau  'test-qapi-types.h',
4037e27776SMarc-André Lureau  'test-qapi-visit-sub-sub-module.c',
4137e27776SMarc-André Lureau  'test-qapi-visit-sub-sub-module.h',
4237e27776SMarc-André Lureau  'test-qapi-visit.c',
4337e27776SMarc-André Lureau  'test-qapi-visit.h',
4437e27776SMarc-André Lureau]
4537e27776SMarc-André Lureau
4637e27776SMarc-André Lureautest_qapi_files = custom_target('Test QAPI files',
4737e27776SMarc-André Lureau                                output: test_qapi_outputs,
4837e27776SMarc-André Lureau                                input: files('qapi-schema/qapi-schema-test.json',
4937e27776SMarc-André Lureau                                             'qapi-schema/include/sub-module.json',
5037e27776SMarc-André Lureau                                             'qapi-schema/sub-sub-module.json'),
5137e27776SMarc-André Lureau                                command: [ qapi_gen, '-o', meson.current_build_dir(),
5237e27776SMarc-André Lureau                                           '-b', '-p', 'test-', '@INPUT0@' ],
5337e27776SMarc-André Lureau                                depend_files: qapi_gen_depends)
5437e27776SMarc-André Lureau
5537e27776SMarc-André Lureau# meson doesn't like generated output in other directories
5637e27776SMarc-André Lureau# perhaps change qapi_gen to replace / with _, like Meson itself does?
5737e27776SMarc-André Lureausubdir('include')
5837e27776SMarc-André Lureau
5997d6efd0SPaolo Bonzinitest_qapi_sources = []
6097d6efd0SPaolo Bonzinitest_qapi_headers = []
6197d6efd0SPaolo Bonzinii = 0
6297d6efd0SPaolo Bonziniforeach o: test_qapi_files.to_list() + test_qapi_files_extra.to_list()
6397d6efd0SPaolo Bonzini  if o.full_path().endswith('.h')
6497d6efd0SPaolo Bonzini    test_qapi_headers += o
6597d6efd0SPaolo Bonzini  endif
6697d6efd0SPaolo Bonzini  test_qapi_sources += o
6797d6efd0SPaolo Bonziniendforeach
6897d6efd0SPaolo Bonzini
6997d6efd0SPaolo Bonzinilibtestqapi = static_library('testqapi', sources: [genh, test_qapi_sources])
7097d6efd0SPaolo Bonzinitestqapi = declare_dependency(link_with: libtestqapi, sources: [genh, test_qapi_headers])
7137e27776SMarc-André Lureau
72279588d4SMarc-André Lureautest_deps = {
73279588d4SMarc-André Lureau  'test-qht-par': qht_bench,
74279588d4SMarc-André Lureau}
75279588d4SMarc-André Lureau
769ed7247aSPaolo Bonzinibenchs = {}
779ed7247aSPaolo Bonzini
78279588d4SMarc-André Lureauif have_block
799ed7247aSPaolo Bonzini  benchs += {
809ed7247aSPaolo Bonzini     'benchmark-crypto-hash': [crypto],
819ed7247aSPaolo Bonzini     'benchmark-crypto-hmac': [crypto],
829ed7247aSPaolo Bonzini     'benchmark-crypto-cipher': [crypto],
839ed7247aSPaolo Bonzini  }
84279588d4SMarc-André Lureauendif
85279588d4SMarc-André Lureau
869ed7247aSPaolo Bonziniforeach bench_name, deps: benchs
879ed7247aSPaolo Bonzini  exe = executable(bench_name, bench_name + '.c',
889ed7247aSPaolo Bonzini                   dependencies: [qemuutil] + deps)
899ed7247aSPaolo Bonzini  benchmark(bench_name, exe,
909ed7247aSPaolo Bonzini            args: ['--tap', '-k'],
919ed7247aSPaolo Bonzini            protocol: 'tap',
92dc1d91acSPaolo Bonzini            timeout: 0,
939ed7247aSPaolo Bonzini            suite: ['speed'])
949ed7247aSPaolo Bonziniendforeach
9589d4dc8fSMarc-André Lureau
9627d551c0SPaolo Bonziniif have_tools and 'CONFIG_VHOST_USER' in config_host and 'CONFIG_LINUX' in config_host
9789d4dc8fSMarc-André Lureau  executable('vhost-user-bridge',
9889d4dc8fSMarc-André Lureau             sources: files('vhost-user-bridge.c'),
990df750e9SMarc-André Lureau             dependencies: [qemuutil, vhost_user])
10089d4dc8fSMarc-André Lureauendif
10189d4dc8fSMarc-André Lureau
102d3ca592bSPaolo Bonziniif have_system and 'CONFIG_POSIX' in config_host
103d3ca592bSPaolo Bonzini  subdir('qemu-iotests')
104d3ca592bSPaolo Bonziniendif
105d3ca592bSPaolo Bonzini
106ce1c1e7aSPaolo Bonzinitest('decodetree', sh,
107ce1c1e7aSPaolo Bonzini     args: [ files('decode/check.sh'), config_host['PYTHON'], files('../scripts/decodetree.py') ],
108ce1c1e7aSPaolo Bonzini     workdir: meson.current_source_dir() / 'decode',
109ce1c1e7aSPaolo Bonzini     suite: 'decodetree')
1103941996bSPaolo Bonzini
111f77147cdSPhilippe Mathieu-Daudéif 'CONFIG_TCG' in config_all
1123941996bSPaolo Bonzini  subdir('fp')
113f77147cdSPhilippe Mathieu-Daudéendif
1147f808687SAlex Bennée
1151badb709SPaolo Bonziniif not get_option('tcg').disabled()
116ffac93dfSPaolo Bonzini  if 'CONFIG_PLUGIN' in config_host
117ffac93dfSPaolo Bonzini    subdir('plugin')
118ffac93dfSPaolo Bonzini  endif
1193941996bSPaolo Bonziniendif
1203afe7ab0SPaolo Bonzini
121*da668aa1SThomas Huthsubdir('unit')
1223afe7ab0SPaolo Bonzinisubdir('qapi-schema')
123a2ce7dbdSPaolo Bonzinisubdir('qtest')
1244fbcdcd7SMarc-André Lureausubdir('migration')
125