diff options
author | Jan Janssen <medhefgo@web.de> | 2023-01-25 17:19:52 +0100 |
---|---|---|
committer | Jan Janssen <medhefgo@web.de> | 2023-02-21 15:10:26 +0100 |
commit | 822cd3ff2579d6de8acd45d85d2b9d5f44048d5c (patch) | |
tree | 570148c87a6ea6f4cfcbe2b4db525684f3af9534 | |
parent | meson: Add simple_tests list (diff) | |
download | systemd-822cd3ff2579d6de8acd45d85d2b9d5f44048d5c.tar.xz systemd-822cd3ff2579d6de8acd45d85d2b9d5f44048d5c.zip |
meson: Use dicts for test definitions
Although this slightly more verbose it makes it much easier to reason
about. The code that produces the tests heavily benefits from this.
Test lists are also now sorted by test name.
-rw-r--r-- | meson.build | 76 | ||||
-rw-r--r-- | src/analyze/meson.build | 14 | ||||
-rw-r--r-- | src/boot/efi/meson.build | 20 | ||||
-rw-r--r-- | src/busctl/meson.build | 8 | ||||
-rw-r--r-- | src/core/meson.build | 5 | ||||
-rw-r--r-- | src/coredump/meson.build | 10 | ||||
-rw-r--r-- | src/import/meson.build | 14 | ||||
-rw-r--r-- | src/journal/meson.build | 77 | ||||
-rw-r--r-- | src/libsystemd-network/meson.build | 95 | ||||
-rw-r--r-- | src/libsystemd/meson.build | 120 | ||||
-rw-r--r-- | src/libudev/meson.build | 10 | ||||
-rw-r--r-- | src/locale/meson.build | 8 | ||||
-rw-r--r-- | src/login/meson.build | 26 | ||||
-rw-r--r-- | src/machine/meson.build | 12 | ||||
-rw-r--r-- | src/network/meson.build | 67 | ||||
-rw-r--r-- | src/nspawn/meson.build | 40 | ||||
-rw-r--r-- | src/oom/meson.build | 11 | ||||
-rw-r--r-- | src/resolve/meson.build | 93 | ||||
-rw-r--r-- | src/shutdown/meson.build | 11 | ||||
-rw-r--r-- | src/test/meson.build | 801 | ||||
-rw-r--r-- | src/timesync/meson.build | 12 | ||||
-rw-r--r-- | src/tmpfiles/meson.build | 8 | ||||
-rw-r--r-- | src/udev/meson.build | 43 | ||||
-rw-r--r-- | src/xdg-autostart-generator/meson.build | 8 |
24 files changed, 824 insertions, 765 deletions
diff --git a/meson.build b/meson.build index 8a397e7c4d..d8ab43ba6c 100644 --- a/meson.build +++ b/meson.build @@ -4078,60 +4078,50 @@ if '-O2' in c_args and '-flto=auto' in c_args endif foreach test : simple_tests - tests += [ [[test]] ] + tests += { 'sources' : [test] } endforeach -foreach tuple : tests - sources = tuple[0] - link_with = tuple.length() > 1 and tuple[1].length() > 0 ? tuple[1] : [libshared] - dependencies = tuple.length() > 2 ? tuple[2] : [] - incs = tuple.length() > 3 and tuple[3].length() > 0 ? tuple[3] : includes - condition = tuple.length() > 4 ? tuple[4] : '' - type = tuple.length() > 5 ? tuple[5] : '' - defs = tuple.length() > 6 ? tuple[6] : [] - defs += test_cflags - parallel = tuple.length() > 7 ? tuple[7] : true - timeout = 30 +foreach test : tests + sources = test.get('sources') + condition = test.get('condition', '') + type = test.get('type', '') + base = test.get('base', {}) # FIXME: Use fs.stem() with meson >= 0.54.0 name = '@0@'.format(sources[0]).split('/')[-1].split('.')[0] - if type.startswith('timeout=') - timeout = type.split('=')[1].to_int() - type = '' - endif suite = fs.name(fs.parent('@0@'.format(sources[0]))) # FIXME: Use str.replace() with meson >= 0.58.0 suite = suite.split('sd-')[-1] - if condition == '' or conf.get(condition) == 1 - exe = executable( - name, - sources, - include_directories : incs, - link_with : link_with, - dependencies : [versiondep, - dependencies], - c_args : defs, - build_by_default : want_tests != 'false', - install_rpath : rootpkglibdir, - install : install_tests, - install_dir : testsdir / type, - link_depends : runtest_env) - - if type == 'manual' - message('@0@ is a manual test'.format(name)) - elif type == 'unsafe' and want_tests != 'unsafe' - message('@0@ is an unsafe test'.format(name)) - elif want_tests != 'false' - test(name, exe, - env : test_env, - timeout : timeout, - suite : suite, - is_parallel : parallel) - endif - else + if condition != '' and conf.get(condition) == 0 message('Not compiling @0@ because @1@ is not true'.format(name, condition)) + continue + endif + + exe = executable( + name, + sources, + include_directories : [base.get('includes', []), test.get('includes', includes)], + link_with : [base.get('link_with', []), test.get('link_with', libshared)], + dependencies : [versiondep, base.get('dependencies', []), test.get('dependencies', [])], + c_args : [test_cflags, test.get('c_args', [])], + build_by_default : want_tests != 'false', + install_rpath : rootpkglibdir, + install : install_tests, + install_dir : testsdir / type, + link_depends : runtest_env) + + if type == 'manual' + message('@0@ is a manual test'.format(name)) + elif type == 'unsafe' and want_tests != 'unsafe' + message('@0@ is an unsafe test'.format(name)) + elif want_tests != 'false' + test(name, exe, + env : test_env, + timeout : test.get('timeout', 30), + suite : suite, + is_parallel : test.get('parallel', true)) endif endforeach diff --git a/src/analyze/meson.build b/src/analyze/meson.build index 55b805b68e..6493cb2e99 100644 --- a/src/analyze/meson.build +++ b/src/analyze/meson.build @@ -30,11 +30,11 @@ systemd_analyze_sources = files( ) tests += [ - [files('test-verify.c', - 'analyze-verify-util.c', - 'analyze-verify-util.h'), - [libcore, - libshared], - [], - core_includes], + { + 'sources' : files( + 'test-verify.c', + 'analyze-verify-util.c', + ), + 'base' : test_core_base, + }, ] diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build index 380177449f..80061a559b 100644 --- a/src/boot/efi/meson.build +++ b/src/boot/efi/meson.build @@ -389,18 +389,26 @@ if efi_arch[1] in ['ia32', 'x86_64'] endif tests += [ - [files('test-efi-string.c', 'efi-string.c')], + { + 'sources' : files( + 'test-efi-string.c', + 'efi-string.c', + ) + }, ] # BCD parser only makes sense on arches that Windows supports. if efi_arch[1] in ['ia32', 'x86_64', 'arm', 'aarch64'] systemd_boot_sources += files('bcd.c') tests += [ - [files('test-bcd.c', 'efi-string.c'), - [], - [libzstd], - [], - 'HAVE_ZSTD'], + { + 'sources' : files( + 'test-bcd.c', + 'efi-string.c', + ), + 'dependencies' : libzstd, + 'condition' : 'HAVE_ZSTD', + }, ] fuzzers += [ [files('fuzz-bcd.c', 'bcd.c', 'efi-string.c')], diff --git a/src/busctl/meson.build b/src/busctl/meson.build index e3611b74d7..dce0224c39 100644 --- a/src/busctl/meson.build +++ b/src/busctl/meson.build @@ -6,6 +6,10 @@ busctl_sources = files( ) tests += [ - [files('test-busctl-introspect.c', - 'busctl-introspect.c')], + { + 'sources' : files( + 'test-busctl-introspect.c', + 'busctl-introspect.c', + ) + }, ] diff --git a/src/core/meson.build b/src/core/meson.build index 981b46fc0b..65b34bb467 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -179,6 +179,11 @@ endif ############################################################ +test_core_base = { + 'link_with' : [libcore, libshared], + 'includes' : core_includes, +} + fuzzers += [ [files('fuzz-unit-file.c'), [libcore, diff --git a/src/coredump/meson.build b/src/coredump/meson.build index 9398a5142b..fb31a2148f 100644 --- a/src/coredump/meson.build +++ b/src/coredump/meson.build @@ -13,7 +13,11 @@ if conf.get('ENABLE_COREDUMP') == 1 and install_sysconfdir_samples endif tests += [ - [files('test-coredump-vacuum.c', - 'coredump-vacuum.c'), - [], [], [], '', 'manual'], + { + 'sources' : files( + 'test-coredump-vacuum.c', + 'coredump-vacuum.c', + ), + 'type' : 'manual', + }, ] diff --git a/src/import/meson.build b/src/import/meson.build index 41595c81c6..58b9719cc1 100644 --- a/src/import/meson.build +++ b/src/import/meson.build @@ -52,9 +52,13 @@ if conf.get('ENABLE_IMPORTD') == 1 endif tests += [ - [files('test-qcow2.c', - 'qcow2-util.c'), - [], - [libz], - [], 'HAVE_ZLIB', 'manual'], + { + 'sources' : files( + 'test-qcow2.c', + 'qcow2-util.c', + ), + 'dependencies' : libz, + 'condition' : 'HAVE_ZLIB', + 'type' : 'manual', + }, ] diff --git a/src/journal/meson.build b/src/journal/meson.build index 30cebe4d44..8547a90222 100644 --- a/src/journal/meson.build +++ b/src/journal/meson.build @@ -65,41 +65,50 @@ endif ############################################################ -tests += [ - [files('test-journal-syslog.c'), - [libjournal_core, - libshared], - [threads, - libxz, - liblz4, - libselinux]], - - [files('test-journal-config.c'), - [libjournal_core, - libshared], - [libxz, - liblz4, - libselinux]], - - [files('test-journal.c'), - [libjournal_core, - libshared]], +test_journal_base = { + 'link_with' : [libjournal_core, libshared], +} - [files('test-journal-stream.c'), - [libjournal_core, - libshared]], - - [files('test-journal-flush.c'), - [libjournal_core, - libshared]], - - [files('test-journal-verify.c'), - [libjournal_core, - libshared]], - - [files('test-journal-interleaving.c'), - [libjournal_core, - libshared]], +tests += [ + { + 'sources' : files('test-journal-config.c'), + 'dependencies' : [ + liblz4, + libselinux, + libxz, + ], + 'base' : test_journal_base, + }, + { + 'sources' : files('test-journal-flush.c'), + 'base' : test_journal_base, + }, + { + 'sources' : files('test-journal-interleaving.c'), + 'base' : test_journal_base, + }, + { + 'sources' : files('test-journal-stream.c'), + 'base' : test_journal_base, + }, + { + 'sources' : files('test-journal-syslog.c'), + 'dependencies' : [ + liblz4, + libselinux, + libxz, + threads, + ], + 'base' : test_journal_base, + }, + { + 'sources' : files('test-journal-verify.c'), + 'base' : test_journal_base, + }, + { + 'sources' : files('test-journal.c'), + 'base' : test_journal_base, + }, ] fuzzers += [ diff --git a/src/libsystemd-network/meson.build b/src/libsystemd-network/meson.build index 5f203f5cda..21dc85d8de 100644 --- a/src/libsystemd-network/meson.build +++ b/src/libsystemd-network/meson.build @@ -38,52 +38,57 @@ libsystemd_network_includes = [includes, include_directories('.')] ############################################################ -tests += [ - [files('test-dhcp-option.c'), - [libshared, - libsystemd_network]], - - [files('test-sd-dhcp-lease.c'), - [libshared, - libsystemd_network]], - - [files('test-dhcp-client.c'), - [libshared, - libsystemd_network]], - - [files('test-dhcp-server.c'), - [libshared, - libsystemd_network]], +test_libsystemd_network_base = { + 'link_with' : [libshared, libsystemd_network], +} - [files('test-ipv4ll.c'), - [libshared, - libsystemd_network]], - - [files('test-ipv4ll-manual.c'), - [libshared, - libsystemd_network], - [], [], '', 'manual'], - - [files('test-acd.c'), - [libshared, - libsystemd_network], - [], [], '', 'manual'], - - [files('test-ndisc-rs.c'), - [libshared, - libsystemd_network]], - - [files('test-ndisc-ra.c'), - [libshared, - libsystemd_network]], - - [files('test-dhcp6-client.c'), - [libshared, - libsystemd_network]], - - [files('test-lldp-rx.c'), - [libshared, - libsystemd_network]], +tests += [ + { + 'sources' : files('test-acd.c'), + 'base' : test_libsystemd_network_base, + 'type' : 'manual', + }, + { + 'sources' : files('test-dhcp-client.c'), + 'base' : test_libsystemd_network_base, + }, + { + 'sources' : files('test-dhcp-option.c'), + 'base' : test_libsystemd_network_base, + }, + { + 'sources' : files('test-dhcp-server.c'), + 'base' : test_libsystemd_network_base, + }, + { + 'sources' : files('test-dhcp6-client.c'), + 'base' : test_libsystemd_network_base, + }, + { + 'sources' : files('test-ipv4ll-manual.c'), + 'base' : test_libsystemd_network_base, + 'type' : 'manual', + }, + { + 'sources' : files('test-ipv4ll.c'), + 'base' : test_libsystemd_network_base, + }, + { + 'sources' : files('test-lldp-rx.c'), + 'base' : test_libsystemd_network_base, + }, + { + 'sources' : files('test-ndisc-ra.c'), + 'base' : test_libsystemd_network_base, + }, + { + 'sources' : files('test-ndisc-rs.c'), + 'base' : test_libsystemd_network_base, + }, + { + 'sources' : files('test-sd-dhcp-lease.c'), + 'base' : test_libsystemd_network_base, + }, ] fuzzers += [ diff --git a/src/libsystemd/meson.build b/src/libsystemd/meson.build index 8646da50a1..3478d9e5a0 100644 --- a/src/libsystemd/meson.build +++ b/src/libsystemd/meson.build @@ -153,8 +153,10 @@ simple_tests += files( ) tests += [ - [files('sd-journal/test-journal-enum.c'), - [], [], [], '', 'timeout=360'], + { + 'sources' : files('sd-journal/test-journal-enum.c'), + 'timeout' : 360, + }, ] ############################################################ @@ -173,62 +175,64 @@ simple_tests += files( ) tests += [ - [files('sd-bus/test-bus-address.c'), - [], - [threads]], - - [files('sd-bus/test-bus-marshal.c'), - [], - [threads, - libglib, - libgobject, - libgio, - libdbus, - libm]], - - [files('sd-bus/test-bus-signature.c'), - [], - [threads]], - - [files('sd-bus/test-bus-queue-ref-cycle.c'), - [], - [threads]], - - [files('sd-bus/test-bus-watch-bind.c'), - [], - [threads], - [], '', 'timeout=120'], - - [files('sd-bus/test-bus-chat.c'), - [], - [threads]], - - [files('sd-bus/test-bus-cleanup.c'), - [], - [threads, - libseccomp]], - - [files('sd-bus/test-bus-track.c'), - [], - [libseccomp]], - - [files('sd-bus/test-bus-server.c'), - [], - [threads]], - - [files('sd-bus/test-bus-objects.c'), - [], - [threads]], - - [files('sd-bus/test-bus-benchmark.c'), - [], - [threads], - [], '', 'manual'], - - [files('sd-resolve/test-resolve.c'), - [], - [threads], - [], '', 'timeout=120'], + { + 'sources' : files('sd-bus/test-bus-address.c'), + 'dependencies' : threads + }, + { + 'sources' : files('sd-bus/test-bus-benchmark.c'), + 'dependencies' : threads, + 'type' : 'manual', + }, + { + 'sources' : files('sd-bus/test-bus-chat.c'), + 'dependencies' : threads, + }, + { + 'sources' : files('sd-bus/test-bus-cleanup.c'), + 'dependencies' : [threads, libseccomp], + }, + { + 'sources' : files('sd-bus/test-bus-marshal.c'), + 'dependencies' : [ + libdbus, + libgio, + libglib, + libgobject, + libm, + threads, + ], + }, + { + 'sources' : files('sd-bus/test-bus-objects.c'), + 'dependencies' : threads, + }, + { + 'sources' : files('sd-bus/test-bus-queue-ref-cycle.c'), + 'dependencies' : threads, + }, + { + 'sources' : files('sd-bus/test-bus-server.c'), + 'dependencies' : threads, + }, + { + 'sources' : files('sd-bus/test-bus-signature.c'), + 'dependencies' : threads, + }, + { + 'sources' : files('sd-bus/test-bus-track.c'), + 'dependencies' : libseccomp, + }, + { + 'sources' : files('sd-bus/test-bus-watch-bind.c'), + 'dependencies' : threads, + 'timeout' : 120, + }, + { + 'sources' : files('sd-resolve/test-resolve.c'), + 'dependencies' : threads, + 'timeout' : 120, + }, ] if cxx_cmd != '' diff --git a/src/libudev/meson.build b/src/libudev/meson.build index 35c024a0e7..0e53b83e51 100644 --- a/src/libudev/meson.build +++ b/src/libudev/meson.build @@ -43,7 +43,11 @@ libudev_pc = custom_target( ############################################################ tests += [ - [files('test-libudev.c'), - [libshared, - libudev_basic]], + { + 'sources' : files('test-libudev.c'), + 'link_with' : [ + libshared, + libudev_basic, + ], + }, ] diff --git a/src/locale/meson.build b/src/locale/meson.build index fcf2798dd1..60d2666ffd 100644 --- a/src/locale/meson.build +++ b/src/locale/meson.build @@ -29,6 +29,10 @@ if conf.get('ENABLE_LOCALED') == 1 endif tests += [ - [files('test-localed-util.c', - 'localed-util.c')], + { + 'sources' : files( + 'test-localed-util.c', + 'localed-util.c', + ), + }, ] diff --git a/src/login/meson.build b/src/login/meson.build index fd153d4ef8..198023715b 100644 --- a/src/login/meson.build +++ b/src/login/meson.build @@ -82,14 +82,20 @@ simple_tests += files( ) tests += [ - [files('test-inhibit.c'), - [], [], [], '', 'manual'], - - [files('test-login-tables.c'), - [liblogind_core, - libshared], - [threads]], - - [files('test-session-properties.c'), - [], [], [], '', 'manual'], + { + 'sources' : files('test-inhibit.c'), + 'type' : 'manual', + }, + { + 'sources' : files('test-login-tables.c'), + 'link_with' : [ + liblogind_core, + libshared, + ], + 'dependencies' : threads, + }, + { + 'sources' : files('test-session-properties.c'), + 'type' : 'manual', + }, ] diff --git a/src/machine/meson.build b/src/machine/meson.build index 01d0bedd09..7b09d4b24f 100644 --- a/src/machine/meson.build +++ b/src/machine/meson.build @@ -31,8 +31,12 @@ if conf.get('ENABLE_MACHINED') == 1 endif tests += [ - [files('test-machine-tables.c'), - [libmachine_core, - libshared], - [threads]], + { + 'sources' : files('test-machine-tables.c'), + 'link_with': [ + libmachine_core, + libshared + ], + 'dependencies': threads, + }, ] diff --git a/src/network/meson.build b/src/network/meson.build index f48c4ed182..0b68b74b45 100644 --- a/src/network/meson.build +++ b/src/network/meson.build @@ -187,37 +187,40 @@ fuzzers += [ network_includes], ] -tests += [ - [files('test-networkd-address.c'), - [libnetworkd_core, - libsystemd_network], - [libatomic], - network_includes], - - [files('test-networkd-conf.c'), - [libnetworkd_core, - libsystemd_network], - [libatomic], - network_includes], - - [files('test-networkd-util.c'), - [libnetworkd_core, - libsystemd_network], - [], - network_includes], +test_network_base = { + 'link_with' : [libnetworkd_core, libsystemd_network], + 'includes' : network_includes, +} - [files('test-network.c'), - [libnetworkd_core, - libsystemd_network], - [threads], - network_includes], - - [files('test-network-tables.c'), - [libnetworkd_core, - libsystemd_network], - [threads], - network_includes], - - [files('generator/test-network-generator.c', - 'generator/network-generator.c')], +tests += [ + { + 'sources' : files( + 'generator/network-generator.c', + 'generator/test-network-generator.c' + ) + }, + { + 'sources' : files('test-network-tables.c'), + 'dependencies' : threads, + 'base' : test_network_base, + }, + { + 'sources' : files('test-network.c'), + 'dependencies' : threads, + 'base' : test_network_base, + }, + { + 'sources' : files('test-networkd-address.c'), + 'dependencies' : libatomic, + 'base' : test_network_base, + }, + { + 'sources' : files('test-networkd-conf.c'), + 'dependencies' : libatomic, + 'base' : test_network_base, + }, + { + 'sources' : files('test-networkd-util.c'), + 'base' : test_network_base, + }, ] diff --git a/src/nspawn/meson.build b/src/nspawn/meson.build index 36f0a92686..9d6bc21bbf 100644 --- a/src/nspawn/meson.build +++ b/src/nspawn/meson.build @@ -39,21 +39,31 @@ systemd_nspawn_sources = files('nspawn.c') ############################################################ tests += [ - [files('test-nspawn-tables.c'), - [libnspawn_core, - libshared], - [libseccomp]], - - [files('test-nspawn-util.c'), - [libnspawn_core, - libshared], - [libseccomp]], - - [files('test-patch-uid.c'), - [libnspawn_core, - libshared], - [libacl], - [], '', 'manual'], + { + 'sources' : files('test-nspawn-tables.c'), + 'link_with' : [ + libnspawn_core, + libshared, + ], + 'dependencies' : libseccomp, + }, + { + 'sources' : files('test-nspawn-util.c'), + 'link_with' : [ + libnspawn_core, + libshared, + ], + 'dependencies' : libseccomp, + }, + { + 'sources' : files('test-patch-uid.c'), + 'link_with' : [ + libnspawn_core, + libshared, + ], + 'dependencies' : libacl, + 'type' : 'manual', + }, ] fuzzers += [ diff --git a/src/oom/meson.build b/src/oom/meson.build index 1c4e7f1e64..8d31f05c98 100644 --- a/src/oom/meson.build +++ b/src/oom/meson.build @@ -23,8 +23,11 @@ if conf.get('ENABLE_OOMD') == 1 endif tests += [ - [files('test-oomd-util.c', - 'oomd-util.c'), - [], - [libatomic]] + { + 'sources' : files( + 'test-oomd-util.c', + 'oomd-util.c', + ), + 'dependencies' : libatomic, + }, ] diff --git a/src/resolve/meson.build b/src/resolve/meson.build index 331c925814..b5083685c4 100644 --- a/src/resolve/meson.build +++ b/src/resolve/meson.build @@ -137,53 +137,54 @@ custom_target( ############################################################ -tests += [ - [files('test-resolve-tables.c'), - [libsystemd_resolve_core, - libshared], - [lib_openssl_or_gcrypt, - libm]], - - [files('test-dns-packet.c'), - [libsystemd_resolve_core, - libshared], - [lib_openssl_or_gcrypt, - libm]], - - [files('test-resolved-etc-hosts.c', - 'resolved-etc-hosts.c'), - [libsystemd_resolve_core, - libshared], - [lib_openssl_or_gcrypt, - libm]], +test_resolve_base = { + 'link_with' : [libsystemd_resolve_core, libshared], + 'dependencies' : [lib_openssl_or_gcrypt, libm], +} - [files('test-resolved-packet.c'), - [libsystemd_resolve_core, - libshared], - [lib_openssl_or_gcrypt, - libm]], - - [files('test-resolved-stream.c') - + basic_dns_sources + systemd_resolved_sources, - [libshared], - [lib_openssl_or_gcrypt, - libm] - + systemd_resolved_dependencies, - resolve_includes], - - [files('test-dnssec.c'), - [libsystemd_resolve_core, - libshared], - [lib_openssl_or_gcrypt, - libm], - [], 'HAVE_OPENSSL_OR_GCRYPT'], - - [files('test-dnssec-complex.c'), - [libsystemd_resolve_core, - libshared], - [lib_openssl_or_gcrypt, - libm], - [], '', 'manual'], +tests += [ + { + 'sources' : files('test-resolve-tables.c'), + 'base' : test_resolve_base, + }, + { + 'sources' : files('test-dns-packet.c'), + 'base' : test_resolve_base, + }, + { + 'sources' : files( + 'test-resolved-etc-hosts.c', + 'resolved-etc-hosts.c', + ), + 'base' : test_resolve_base, + }, + { + 'sources' : files('test-resolved-packet.c'), + 'base' : test_resolve_base, + }, + { + 'sources' : files('test-dnssec.c'), + 'base' : test_resolve_base, + 'condition' : 'HAVE_OPENSSL_OR_GCRYPT', + }, + { + 'sources' : files('test-dnssec-complex.c'), + 'base' : test_resolve_base, + 'type' : 'manual', + }, + { + 'sources' : [ + files('test-resolved-stream.c'), + basic_dns_sources, + systemd_resolved_sources, + ], + 'dependencies' : [ + lib_openssl_or_gcrypt, + libm, + systemd_resolved_dependencies, + ], + 'includes' : resolve_includes, + }, ] fuzzers += [ diff --git a/src/shutdown/meson.build b/src/shutdown/meson.build index d62032a4f1..1e28528b97 100644 --- a/src/shutdown/meson.build +++ b/src/shutdown/meson.build @@ -6,8 +6,11 @@ systemd_shutdown_sources = files( ) tests += [ - [files('test-umount.c', - 'umount.c'), - [], - [libmount]], + { + 'sources' : files( + 'test-umount.c', + 'umount.c', + ), + 'dependencies' : libmount, + }, ] diff --git a/src/test/meson.build b/src/test/meson.build index 4274aad222..e3c0e67dcf 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -176,401 +176,371 @@ simple_tests += files( ############################################################ -tests += [ - [files('test-engine.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes], - - [files('test-manager.c'), - [libcore, - libshared], - [], - core_includes], - - [files('test-emergency-action.c'), - [libcore, - libshared], - [], - core_includes], - - [files('test-chown-rec.c'), - [libcore, - libshared], - [], - core_includes], - - [files('test-dlopen-so.c'), - [], - libp11kit_cflags], - - [files('test-job-type.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes], - - [files('test-ns.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes, '', 'manual'], - - [files('test-loopback.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes], - - [files('test-boot-timestamps.c'), - [], [], [], 'ENABLE_EFI'], - - [files('test-unit-name.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes], - - [files('test-load-fragment.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes], - - [files('test-unit-serialize.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes], - - [files('test-capability.c'), - [], - [libcap]], - - [files('test-async.c'), - [], [], [], '', 'timeout=120'], - - [files('test-compress.c'), - [libshared, - libbasic_compress]], - - [files('test-compress-benchmark.c'), - [libshared, - libbasic_compress], - [], - [], '', 'timeout=90'], - - [files('test-random-util.c'), - [], - [libm], - [], '', 'timeout=120'], - - [files('test-math-util.c'), - [], - [libm]], - - [files('test-json.c'), - [], - [libm]], - - [files('test-libmount.c'), - [], - [threads, - libmount]], - - [files('test-fd-util.c'), - [], - [libseccomp]], - - [files('test-libcrypt-util.c'), - [], [libcrypt], [], '', 'timeout=120'], - - [files('test-parse-util.c'), - [], - [libm]], - - [files('test-process-util.c'), - [], - [threads]], - - [files('test-cap-list.c') + - generated_gperf_headers, - [], - [libcap]], - - [files('test-namespace.c'), - [libcore, - libshared], - [threads, - libblkid], - core_includes], - - [files('test-acl-util.c'), - [], [], [], 'HAVE_ACL'], - - [files('test-seccomp.c'), - [], - [libseccomp], - [], 'HAVE_SECCOMP'], - - [files('test-ask-password-api.c'), - [], [], [], '', 'manual'], - - [files('test-loop-block.c'), - [libcore, - libshared], - [threads, - libblkid], - core_includes, '', '', [], false], - - [files('test-sizeof.c'), - [libbasic]], - - [files('test-bpf-devices.c'), - [libcore, - libshared], - [libmount, - threads, - librt, - libseccomp, - libselinux, - libblkid], - core_includes], - - [files('test-bpf-firewall.c'), - [libcore, - libshared], - [libmount, - threads, - librt, - libseccomp, - libselinux, - libblkid], - core_includes], - - [files('test-bpf-foreign-programs.c'), - [libcore, - libshared], - [], - core_includes], - - [files('test-bpf-lsm.c'), - [libcore, - libshared], - [libmount, - threads, - librt, - libseccomp, - libselinux, - libblkid], - core_includes], - - [files('test-watch-pid.c'), - [libcore, - libshared], - [libmount, - threads, - librt, - libseccomp, - libselinux, - libblkid], - core_includes], - - [files('test-hashmap.c', - 'test-hashmap-plain.c') + - [test_hashmap_ordered_c], - [], [], [], '', 'timeout=180'], - - [files('test-set-disable-mempool.c'), - [], - [threads]], - - [files('test-tables.c'), - [libcore, - libjournal_core, - libudevd_core, - libshared], - [threads, - libseccomp, - libmount, - libxz, - liblz4, - libblkid, - libselinux], - [core_includes, journal_includes, udev_includes]], - - [files('test-ipcrm.c'), - [], [], [], '', 'unsafe'], - - [files('test-btrfs.c'), - [], [], [], '', 'manual'], - - [files('test-netlink-manual.c'), - [], - [libkmod], - [], 'HAVE_KMOD', 'manual'], - - [files('test-sbat.c'), - [], [], [], 'HAVE_GNU_EFI', '', - ['-I@0@'.format(efi_config_h_dir)]], - - [files('test-cgroup-cpu.c'), - [libcore, - libshared], - [], - core_includes], - - [files('test-cgroup-unit-default.c'), - [libcore, - libshared], - [], - core_includes], - - [files('test-cgroup-mask.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes], - - [files('test-varlink.c'), - [], - [threads]], - - [files('test-chase-symlinks.c'), - [], [], [], '', 'manual'], - - [files('test-path.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes, '', 'timeout=120'], - - [files('test-execute.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes, '', 'timeout=360'], - - [files('test-install.c'), - [libcore, - libshared], - [], - core_includes, '', 'manual'], - - [files('test-watchdog.c'), - [], [], [], '', 'unsafe'], - - [files('test-sched-prio.c'), - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - core_includes], - - [files('test-af-list.c') + - generated_gperf_headers], - - [files('test-arphrd-util.c') + - generated_gperf_headers], - - [files('test-errno-list.c') + - generated_gperf_headers], - - [files('test-ip-protocol-list.c') + - shared_generated_gperf_headers], - - [files('test-utmp.c'), - [], [], [], 'ENABLE_UTMP'], - - [files('test-udev.c'), - [libudevd_core, - libshared], - [threads, - librt, - libblkid, - libkmod, - libacl, - libselinux], - udev_includes, '', 'manual'], - - [files('test-cryptolib.c'), - [libshared], - [lib_openssl_or_gcrypt], - [], 'HAVE_OPENSSL_OR_GCRYPT'], - - [files('test-nss-hosts.c', - 'nss-test-util.c'), - [], - [libdl], - [], 'ENABLE_NSS', 'timeout=120'], - - [files('test-nss-users.c', - 'nss-test-util.c'), - [], - [libdl], - [], 'ENABLE_NSS'], - - [files('test-qrcode-util.c'), - [], - [libdl]], +common_test_dependencies = [ + libblkid, + libmount, + librt, + libseccomp, + libselinux, + threads, +] - [files('test-nscd-flush.c'), - [], [], [], 'ENABLE_NSCD', 'manual'], +tests += [ + { + 'sources' : files('test-acl-util.c'), + 'condition' : 'HAVE_ACL', + }, + { + 'sources' : [ + files('test-af-list.c'), + generated_gperf_headers, + ], + }, + { + 'sources' : [ + files('test-arphrd-util.c'), + generated_gperf_headers, + ], + }, + { + 'sources' : files('test-ask-password-api.c'), + 'type' : 'manual', + }, + { + 'sources' : files('test-async.c'), + 'timeout' : 120, + }, + { + 'sources' : files('test-boot-timestamps.c'), + 'condition' : 'ENABLE_EFI', + }, + { + 'sources' : files('test-bpf-devices.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : files('test-bpf-firewall.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : files('test-bpf-foreign-programs.c'), + 'base' : test_core_base, + }, + { + 'sources' : files('test-bpf-lsm.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : files('test-btrfs.c'), + 'type' : 'manual', + }, + { + 'sources' : [ + files('test-cap-list.c'), + generated_gperf_headers, + ], + 'dependencies' : libcap, + }, + { + 'sources' : files('test-capability.c'), + 'dependencies' : libcap, + }, + { + 'sources' : files('test-cgroup-cpu.c'), + 'base' : test_core_base, + }, + { + 'sources' : files('test-cgroup-mask.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : files('test-cgroup-unit-default.c'), + 'base' : test_core_base, + }, + { + 'sources' : files('test-chase-symlinks.c'), + 'type' : 'manual', + }, + { + 'sources' : files('test-chown-rec.c'), + 'base' : test_core_base, + }, + { + 'sources' : files('test-compress-benchmark.c'), + 'link_with' : [ + libbasic_compress, + libshared, + ], + 'timeout' : 90, + }, + { + 'sources' : files('test-compress.c'), + 'link_with' : [ + libbasic_compress, + libshared, + ], + }, + { + 'sources' : files('test-cryptolib.c'), + 'link_with' : libshared, + 'dependencies' : lib_openssl_or_gcrypt, + 'condition' : 'HAVE_OPENSSL_OR_GCRYPT', + }, + { + 'sources' : files('test-dlopen-so.c'), + 'dependencies' : libp11kit_cflags + }, + { + 'sources' : files('test-emergency-action.c'), + 'base' : test_core_base, + }, + { + 'sources' : files('test-engine.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : [ + files('test-errno-list.c'), + generated_gperf_headers, + ], + }, + { + 'sources' : files('test-execute.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + 'timeout' : 360, + }, + { + 'sources' : files('test-fd-util.c'), + 'dependencies' : libseccomp, + }, + { + 'sources' : [files( + 'test-hashmap.c', + 'test-hashmap-plain.c'), + test_hashmap_ordered_c, + ], + 'timeout' : 180, + }, + { + 'sources' : files('test-install.c'), + 'base' : test_core_base, + 'type' : 'manual', + }, + { + 'sources' : [ + files('test-ip-protocol-list.c'), + shared_generated_gperf_headers, + ], + }, + { + 'sources' : files('test-ipcrm.c'), + 'type' : 'unsafe', + }, + { + 'sources' : files('test-job-type.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : files('test-json.c'), + 'dependencies' : libm, + }, + { + 'sources' : files('test-libcrypt-util.c'), + 'dependencies' : libcrypt, + 'timeout' : 120, + }, + { + 'sources' : files('test-libmount.c'), + 'dependencies' : [ + libmount, + threads, + ], + }, + { + 'sources' : files('test-load-fragment.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : files('test-loop-block.c'), + 'dependencies' : [threads, libblkid], + 'base' : test_core_base, + 'parallel' : false, + }, + { + 'sources' : files('test-loopback.c'), + 'dependencies' : common_test_dependencies, + }, + { + 'sources' : files('test-manager.c'), + 'base' : test_core_base, + }, + { + 'sources' : files('test-math-util.c'), + 'dependencies' : libm, + }, + { + 'sources' : files('test-namespace.c'), + 'dependencies' : [ + libblkid, + threads, + ], + 'base' : test_core_base, + }, + { + 'sources' : files('test-netlink-manual.c'), + 'dependencies' : libkmod, + 'condition' : 'HAVE_KMOD', + 'type' : 'manual', + }, + { + 'sources' : files('test-ns.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + 'type' : 'manual', + }, + { + 'sources' : files('test-nscd-flush.c'), + 'condition' : 'ENABLE_NSCD', + 'type' : 'manual', + }, + { + 'sources' : files( + 'test-nss-hosts.c', + 'nss-test-util.c', + ), + 'dependencies' : libdl, + 'condition' : 'ENABLE_NSS', + 'timeout' : 120, + }, + { + 'sources' : files( + 'test-nss-users.c', + 'nss-test-util.c', + ), + 'dependencies' : libdl, + 'condition' : 'ENABLE_NSS', + }, + { + 'sources' : files('test-parse-util.c'), + 'dependencies' : libm, + }, + { + 'sources' : files('test-path.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + 'timeout' : 120, + }, + { + 'sources' : files('test-process-util.c'), + 'dependencies' : threads, + }, + { + 'sources' : files('test-qrcode-util.c'), + 'dependencies' : libdl, + }, + { + 'sources' : files('test-random-util.c'), + 'dependencies' : libm, + 'timeout' : 120, + }, + { + 'sources' : files('test-sbat.c'), + 'condition' : 'HAVE_GNU_EFI', + 'c_args' : '-I@0@'.format(efi_config_h_dir), + }, + { + 'sources' : files('test-sched-prio.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : files('test-seccomp.c'), + 'dependencies' : libseccomp, + 'condition' : 'HAVE_SECCOMP', + }, + { + 'sources' : files('test-set-disable-mempool.c'), + 'dependencies' : threads, + }, + { + 'sources' : files('test-sizeof.c'), + 'link_with' : libbasic, + }, + { + 'sources' : files('test-tables.c'), + 'link_with' : [ + libcore, + libjournal_core, + libshared, + libudevd_core, + ], + 'dependencies' : [ + libblkid, + liblz4, + libmount, + libseccomp, + libselinux, + libxz, + threads, + ], + 'includes' : [ + core_includes, + journal_includes, + udev_includes, + ], + }, + { + 'sources' : files('test-udev.c'), + 'link_with' : [ + libshared, + libudevd_core, + ], + 'dependencies' : [ + libacl, + libblkid, + libkmod, + librt, + libselinux, + threads, + ], + 'includes' : udev_includes, + 'type' : 'manual', + }, + { + 'sources' : files('test-unit-name.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : files('test-unit-serialize.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : files('test-utmp.c'), + 'condition' : 'ENABLE_UTMP', + }, + { + 'sources' : files('test-varlink.c'), + 'dependencies' : threads, + }, + { + 'sources' : files('test-watch-pid.c'), + 'dependencies' : common_test_dependencies, + 'base' : test_core_base, + }, + { + 'sources' : files('test-watchdog.c'), + 'type' : 'unsafe', + }, ] ############################################################ @@ -578,24 +548,27 @@ tests += [ # define some tests here, because the link_with deps were not defined earlier tests += [ - [files('../libsystemd/sd-bus/test-bus-error.c'), - [libshared_static, - libsystemd_static]], - - [files('../libsystemd/sd-device/test-sd-device-thread.c'), - [libsystemd], - [threads]], - - [files('../libudev/test-udev-device-thread.c'), - [libudev], - [threads]], -] - -tests += [ - [files('test-socket-bind.c'), - [libcore, - libshared], - [libdl], - core_includes, - 'BPF_FRAMEWORK'], + { + 'sources' : files('../libsystemd/sd-bus/test-bus-error.c'), + 'link_with' : [ + libshared_static, + libsystemd_static, + ], + }, + { + 'sources' : files('../libsystemd/sd-device/test-sd-device-thread.c'), + 'link_with' : libsystemd, + 'dependencies' : threads, + }, + { + 'sources' : files('../libudev/test-udev-device-thread.c'), + 'link_with' : libudev, + 'dependencies' : threads, + }, + { + 'sources' : files('test-socket-bind.c'), + 'dependencies' : libdl, + 'condition' : 'BPF_FRAMEWORK', + 'base' : test_core_base, + }, ] diff --git a/src/timesync/meson.build b/src/timesync/meson.build index c215ce72c9..f847728f62 100644 --- a/src/timesync/meson.build +++ b/src/timesync/meson.build @@ -54,8 +54,12 @@ endif ############################################################ tests += [ - [files('test-timesync.c'), - [libtimesyncd_core, - libshared], - [libm]], + { + 'sources' : files('test-timesync.c'), + 'link_with' : [ + libshared, + libtimesyncd_core, + ], + 'dependencies' : libm, + }, ] diff --git a/src/tmpfiles/meson.build b/src/tmpfiles/meson.build index 816faa93cf..d0a1359501 100644 --- a/src/tmpfiles/meson.build +++ b/src/tmpfiles/meson.build @@ -6,6 +6,10 @@ systemd_tmpfiles_sources = files( ) tests += [ - [files('test-offline-passwd.c', - 'offline-passwd.c')], + { + 'sources' : files( + 'test-offline-passwd.c', + 'offline-passwd.c', + ), + }, ] diff --git a/src/udev/meson.build b/src/udev/meson.build index f17b3c1cf3..9d647dd605 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -180,25 +180,28 @@ fuzzers += [ 'fido_id/fido_id_desc.c')], ] -tests += [ - [files('test-udev-event.c'), - [libudevd_core, - libshared], - [threads, - libacl]], +test_libudev_base = { + 'link_with' : [libudevd_core, libshared], + 'dependencies' : [threads, libacl], +} - [files('test-udev-node.c'), - [libudevd_core, - libshared], - [threads, - libacl]], - - [files('test-udev-builtin.c'), - [libudevd_core, - libshared], - [threads, - libacl]], - - [files('fido_id/test-fido-id-desc.c', - 'fido_id/fido_id_desc.c')], +tests += [ + { + 'sources' : files( + 'fido_id/test-fido-id-desc.c', + 'fido_id/fido_id_desc.c', + ), + }, + { + 'sources' : files('test-udev-builtin.c'), + 'base' : test_libudev_base, + }, + { + 'sources' : files('test-udev-event.c'), + 'base' : test_libudev_base, + }, + { + 'sources' : files('test-udev-node.c'), + 'base' : test_libudev_base, + }, ] diff --git a/src/xdg-autostart-generator/meson.build b/src/xdg-autostart-generator/meson.build index 5788fd4ae3..7f7d18bba6 100644 --- a/src/xdg-autostart-generator/meson.build +++ b/src/xdg-autostart-generator/meson.build @@ -6,8 +6,12 @@ systemd_xdg_autostart_generator_sources = files( ) tests += [ - [files('test-xdg-autostart.c', - 'xdg-autostart-service.c')], + { + 'sources' : files( + 'test-xdg-autostart.c', + 'xdg-autostart-service.c', + ), + }, ] fuzzers += [ |