From: Christian Brauner (Microsoft) Date: Tue, 22 Mar 2022 07:48:43 +0000 (+0100) Subject: build: add tests to meson X-Git-Tag: lxc-5.0.0~27^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2cf04d6695bd5948fb97748a2b56118a84a93354;p=thirdparty%2Flxc.git build: add tests to meson Signed-off-by: Christian Brauner (Microsoft) --- diff --git a/meson.build b/meson.build index 8f8331a3d..c19b768f3 100644 --- a/meson.build +++ b/meson.build @@ -61,6 +61,7 @@ lxcpathprefix = get_option('config-path') rootfsmount = get_option('rootfs-mount-dir') runtimepath = join_paths(prefixdir, get_option('runtime-path')) wants_io_uring = get_option('io-uring-event-loop') +want_tests = get_option('tests') conf.set_quoted('BINDIR', bindir) conf.set_quoted('DATADIR', datadir) @@ -428,6 +429,9 @@ subdir('hooks') template_scripts = [] subdir('templates') +test_programs = [] +subdir('src/tests') + cmd_programs = [] subdir('src/lxc/cmd') diff --git a/src/tests/aa.c b/src/tests/aa.c index e288b46df..417f3fc23 100644 --- a/src/tests/aa.c +++ b/src/tests/aa.c @@ -21,7 +21,7 @@ /* Test apparmor rules */ #include -#include "lxc/utils.h" +#include "utils.h" #include #include diff --git a/src/tests/config_jump_table.c b/src/tests/config_jump_table.c index a0b966b3c..cc975a625 100644 --- a/src/tests/config_jump_table.c +++ b/src/tests/config_jump_table.c @@ -33,7 +33,7 @@ #include #include "confile.h" -#include "lxc/state.h" +#include "state.h" #include "lxctest.h" int main(int argc, char *argv[]) diff --git a/src/tests/containertests.c b/src/tests/containertests.c index 7bd5e92ef..6da622f77 100644 --- a/src/tests/containertests.c +++ b/src/tests/containertests.c @@ -29,7 +29,7 @@ #include #include #include -#include "lxc/state.h" +#include "state.h" #define MYNAME "lxctest1" diff --git a/src/tests/get_item.c b/src/tests/get_item.c index f30478168..8ad53c437 100644 --- a/src/tests/get_item.c +++ b/src/tests/get_item.c @@ -30,7 +30,7 @@ #include #include -#include "lxc/state.h" +#include "state.h" #include "lxctest.h" #include "utils.h" diff --git a/src/tests/getkeys.c b/src/tests/getkeys.c index 4768b9ebd..f718fe99e 100644 --- a/src/tests/getkeys.c +++ b/src/tests/getkeys.c @@ -29,7 +29,7 @@ #include #include -#include "lxc/state.h" +#include "state.h" #define MYNAME "lxctest1" diff --git a/src/tests/locktests.c b/src/tests/locktests.c index 4836d46df..f7eb3ad5c 100644 --- a/src/tests/locktests.c +++ b/src/tests/locktests.c @@ -19,7 +19,7 @@ #include "config.h" -#include "lxc/lxclock.h" +#include "lxclock.h" #include "config.h" #include #include diff --git a/src/tests/meson.build b/src/tests/meson.build new file mode 100644 index 000000000..5f9c6e43d --- /dev/null +++ b/src/tests/meson.build @@ -0,0 +1,311 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +tests_liblxc_includes = include_directories( + '.', + '../lxc/', + '../lxc/cgroups', + '../lxc/lsm', + '../lxc/storage', + '../include', + '../../') + +tests_common_sources = files( + '../lxc/af_unix.c', + '../lxc/af_unix.h', + '../lxc/attach_options.h', + '../lxc/caps.c', + '../lxc/caps.h', + '../lxc/commands.c', + '../lxc/commands.h', + '../lxc/commands_utils.c', + '../lxc/commands_utils.h', + '../lxc/compiler.h', + '../lxc/conf.c', + '../lxc/conf.h', + '../lxc/confile.c', + '../lxc/confile.h', + '../lxc/confile_utils.c', + '../lxc/confile_utils.h', + '../lxc/cgroups/cgfsng.c', + '../lxc/cgroups/cgroup.c', + '../lxc/cgroups/cgroup.h', + '../lxc/cgroups/cgroup2_devices.c', + '../lxc/cgroups/cgroup2_devices.h', + '../lxc/cgroups/cgroup_utils.c', + '../lxc/cgroups/cgroup_utils.h', + '../lxc/error.c', + '../lxc/error.h', + '../lxc/initutils.c', + '../lxc/initutils.h', + '../lxc/file_utils.c', + '../lxc/file_utils.h', + '../lxc/lsm/apparmor.c', + '../lxc/lsm/lsm.c', + '../lxc/lsm/lsm.h', + '../lxc/lsm/nop.c', + '../lxc/lsm/selinux.c', + '../lxc/lxcseccomp.h', + '../lxc/lxclock.c', + '../lxc/lxclock.h', + '../lxc/macro.h', + '../lxc/mainloop.c', + '../lxc/mainloop.h', + '../lxc/memory_utils.h', + '../lxc/monitor.c', + '../lxc/monitor.h', + '../lxc/mount_utils.c', + '../lxc/mount_utils.h', + '../lxc/namespace.c', + '../lxc/namespace.h', + '../lxc/network.c', + '../lxc/network.h', + '../lxc/nl.c', + '../lxc/nl.h', + '../lxc/parse.c', + '../lxc/parse.h', + '../lxc/process_utils.c', + '../lxc/process_utils.h', + '../lxc/ringbuf.c', + '../lxc/ringbuf.h', + '../lxc/seccomp.c', + '../lxc/start.c', + '../lxc/start.h', + '../lxc/state.c', + '../lxc/state.h', + '../lxc/storage/btrfs.c', + '../lxc/storage/btrfs.h', + '../lxc/storage/dir.c', + '../lxc/storage/dir.h', + '../lxc/storage/loop.c', + '../lxc/storage/loop.h', + '../lxc/storage/lvm.c', + '../lxc/storage/lvm.h', + '../lxc/storage/nbd.c', + '../lxc/storage/nbd.h', + '../lxc/storage/overlay.c', + '../lxc/storage/overlay.h', + '../lxc/storage/rbd.c', + '../lxc/storage/rbd.h', + '../lxc/storage/rsync.c', + '../lxc/storage/rsync.h', + '../lxc/storage/storage.c', + '../lxc/storage/storage.h', + '../lxc/storage/storage_utils.c', + '../lxc/storage/storage_utils.h', + '../lxc/storage/zfs.c', + '../lxc/storage/zfs.h', + '../lxc/string_utils.c', + '../lxc/string_utils.h', + '../lxc/sync.c', + '../lxc/sync.h', + '../lxc/terminal.c', + '../lxc/terminal.h', + '../lxc/utils.c', + '../lxc/utils.h', + '../lxc/uuid.c', + '../lxc/uuid.h', + '../lxc/log.h', + '../lxc/log.c') + include_sources + netns_ifaddrs_sources + +test_programs += executable( + 'lxc-test-arch-parse', + files('arch_parse.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-apparmor', + files('aa.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-api-reboot', + files('api_reboot.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-attach', + files('attach.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-basic', + files('basic.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-capabilities', + files('capabilities.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-cgpath', + files('cgpath.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-clonetest', + files('clonetest.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-concurrent', + files('concurrent.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-config-jump-table', + files('config_jump_table.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-console', + files('console.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-console-log', + files('console_log.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-containertests', + files('containertests.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-createtest', + files('createtest.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-criu-check-feature', + files('criu_check_feature.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-cve-2019-5736', + files('cve-2019-5736.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-destroytest', + files('destroytest.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-device-add-remove', + files('device_add_remove.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-fuzz-lxc-cgroup-init', + files('fuzz-lxc-cgroup-init.c', + 'dummy.cxx') + tests_common_sources, + link_args : ['-static'], + include_directories : tests_liblxc_includes, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-fuzz-lxc-config-read', + files('fuzz-lxc-config-read.c', + 'dummy.cxx') + tests_common_sources, + link_args : ['-static'], + include_directories : tests_liblxc_includes, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-fuzz-lxc-define-load', + files('fuzz-lxc-define-load.c', + 'dummy.cxx') + tests_common_sources, + link_args : ['-static'], + include_directories : tests_liblxc_includes, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-get-item', + files('get_item.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-getkeys', + files('getkeys.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-list', + files('list.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false) + +test_programs += executable( + 'lxc-test-locktests', + files('locktests.c') + tests_common_sources, + include_directories : tests_liblxc_includes, + dependencies : liblxc_dep, + install: false, + build_by_default: want_tests != false)