diff options
author | Daniel P. Berrangé <berrange@redhat.com> | 2022-04-21 16:48:16 +0100 |
---|---|---|
committer | John Levon <levon@movementarian.org> | 2022-05-09 23:28:10 +0100 |
commit | 5b69b60c197695579fd48abaa81c39b9984f1cab (patch) | |
tree | cd4717b8a875b2810af93d72e21b34248c62e761 /test/py/meson.build | |
parent | 18fb66bcec7b88301f949e586dbd773b8e3ee067 (diff) | |
download | libvfio-user-5b69b60c197695579fd48abaa81c39b9984f1cab.zip libvfio-user-5b69b60c197695579fd48abaa81c39b9984f1cab.tar.gz libvfio-user-5b69b60c197695579fd48abaa81c39b9984f1cab.tar.bz2 |
build: introduce Meson build file rules
The Meson build system used by many other virt projects (QEMU, libvirt
and others) is easier to understand & maintain rules for than cmake,
guiding towards best practice.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to 'test/py/meson.build')
-rw-r--r-- | test/py/meson.build | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/test/py/meson.build b/test/py/meson.build new file mode 100644 index 0000000..e8266e7 --- /dev/null +++ b/test/py/meson.build @@ -0,0 +1,71 @@ + +if valgrind.found() + valgrind_pyunit_wrapper = valgrind_common_wrapper + [ + '--suppressions=' + ( meson.current_source_dir() / 'valgrind.supp' ), + '--show-leak-kinds=definite', + '--errors-for-leak-kinds=definite', + ] + valgrind_pyunit_env = ['PYTHONMALLOC=malloc'] + + if meson.version().version_compare('<0.57.0') + add_test_setup('pyvalgrind', + env: valgrind_pyunit_env, + exe_wrapper: valgrind_pyunit_wrapper, + timeout_multiplier: 10) + else + add_test_setup('pyvalgrind', + exclude_suites: ['functional', 'unit', 'style'], + env: valgrind_pyunit_env, + exe_wrapper: valgrind_pyunit_wrapper, + timeout_multiplier: 10) + endif +endif + +python_tests_common = [ + 'libvfio_user.py', +] + +python_tests = [ + 'test_destroy.py', + 'test_device_get_info.py', + 'test_device_get_irq_info.py', + 'test_device_get_region_info.py', + 'test_device_get_region_info_zero_size.py', + 'test_device_get_region_io_fds.py', + 'test_device_set_irqs.py', + 'test_dirty_pages.py', + 'test_dma_map.py', + 'test_dma_unmap.py', + 'test_irq_trigger.py', + 'test_map_unmap_sg.py', + 'test_migration.py', + 'test_negotiate.py', + 'test_pci_caps.py', + 'test_pci_ext_caps.py', + 'test_quiesce.py', + 'test_request_errors.py', + 'test_setup_region.py', + 'test_vfu_create_ctx.py', + 'test_vfu_realize_ctx.py', +] + +python_files = python_tests_common + python_tests + +if pytest.found() and opt_sanitizers == 'none' + foreach testname: python_tests + test(testname, + pytest, + suite: 'pyunit', + env: environment({'LIBVFIO_SO_DIR': libvfio_so_dir}), + args: [files(testname)]) + endforeach +endif + +if flake8.found() + flake8_ignore = 'F405,F403,E128,E131,E127' + test('flake8', + flake8, + suite: 'style', + args: ['--extend-ignore', flake8_ignore, + files(python_files)]) +endif |