gnunet

Main GNUnet Logic
Log | Files | Refs | Submodules | README | LICENSE

commit 0c21cd7ec96cab23999fcb7d3a785d06d86a86a0
parent 94a7671f073eda0f9e83a86b206968cd27c90584
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Thu, 23 Nov 2023 21:31:06 +0100

meson: fix tests; fix non-parallelizable tests to run sequentially

Diffstat:
Msrc/cli/gns/meson.build | 34+++++++++++++++++-----------------
Msrc/service/arm/meson.build | 79+++++++++++++++++++++++++++++++++++++++++--------------------------------------
Msrc/service/datastore/meson.build | 162+++++++++++++++++++++++++++++++++++++++++--------------------------------------
Msrc/service/gns/meson.build | 168++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/service/namestore/meson.build | 2++
5 files changed, 228 insertions(+), 217 deletions(-)

diff --git a/src/cli/gns/meson.build b/src/cli/gns/meson.build @@ -1,21 +1,21 @@ configure_file(input : 'gnunet-gns-proxy-setup-ca.in', - output : 'gnunet-gns-proxy-setup-ca', - configuration : cdata, - install: true, - install_dir: get_option('bindir')) + output : 'gnunet-gns-proxy-setup-ca', + configuration : cdata, + install: true, + install_dir: get_option('bindir')) install_data('gnunet-gns-proxy-ca.template', - install_dir: get_option('datadir')/'gnunet') + install_dir: get_option('datadir')/'gnunet') executable ('gnunet-gns', - 'gnunet-gns.c', - dependencies: [libgnunetgns_dep, - libgnunetgnsrecord_dep, - idn_dep, - libgnunetutil_dep], - include_directories: [incdir, configuration_inc], - install: true, - install_dir: get_option('bindir')) + 'gnunet-gns.c', + dependencies: [libgnunetgns_dep, + libgnunetgnsrecord_dep, + idn_dep, + libgnunetutil_dep], + include_directories: [incdir, configuration_inc], + install: true, + install_dir: get_option('bindir')) testgns = [ 'test_dns2gns', @@ -37,7 +37,7 @@ testgns = [ 'test_gns_soa_lookup', 'test_gns_txt_lookup', 'test_gns_zkey_lookup', -] + ] testconfigs = [ 'test_dns2gns.conf', @@ -46,7 +46,7 @@ testconfigs = [ 'test_gns_lookup_peer1.conf', 'test_gns_lookup_peer2.conf', 'test_gns_simple_lookup.conf' -] + ] foreach f : testconfigs configure_file(input: f, output: f, copy: true) @@ -56,8 +56,8 @@ foreach t : testgns test_filename = t + '.sh' test_file = configure_file(input : test_filename, - output : test_filename, - copy: true) + output : test_filename, + copy: true) test(t, test_file, suite: 'gns', workdir: meson.current_build_dir(), is_parallel: false) endforeach diff --git a/src/service/arm/meson.build b/src/service/arm/meson.build @@ -1,5 +1,5 @@ libgnunetarm_src = ['arm_api.c', - 'arm_monitor_api.c'] + 'arm_monitor_api.c'] gnunetservicearm_src = ['gnunet-service-arm.c'] @@ -8,54 +8,54 @@ testexpbo_src = ['test_exponential_backoff.c'] testgnunetservice_src = ['test_gnunet_service_arm.c'] configure_file(input : 'arm.conf.in', - output : 'arm.conf', - configuration : cdata, - install: true, - install_dir: pkgcfgdir) + output : 'arm.conf', + configuration : cdata, + install: true, + install_dir: pkgcfgdir) libgnunetarm = library('gnunetarm', - libgnunetarm_src, - dependencies: libgnunetutil_dep, - version: '2.0.0', - soversion: '2', - include_directories: [incdir, configuration_inc], - install: true, - install_dir: get_option('libdir')) + libgnunetarm_src, + dependencies: libgnunetutil_dep, + version: '2.0.0', + soversion: '2', + include_directories: [incdir, configuration_inc], + install: true, + install_dir: get_option('libdir')) pkg.generate(libgnunetarm, url: 'https://www.gnunet.org', - description : 'Provides API for accessing the Automated Restart Manager service') + description : 'Provides API for accessing the Automated Restart Manager service') libgnunetarm_dep = declare_dependency(link_with : libgnunetarm) executable ('gnunet-service-arm', - gnunetservicearm_src, - dependencies: [libgnunetarm_dep, libgnunetutil_dep], - include_directories: [incdir, configuration_inc], - install: true, - install_dir: get_option('libdir') / 'gnunet' / 'libexec') + gnunetservicearm_src, + dependencies: [libgnunetarm_dep, libgnunetutil_dep], + include_directories: [incdir, configuration_inc], + install: true, + install_dir: get_option('libdir') / 'gnunet' / 'libexec') mockservice = executable ('mockup-service', - ['mockup-service.c'], - dependencies: [libgnunetarm_dep, libgnunetutil_dep], - include_directories: [incdir, configuration_inc], - install: false) + ['mockup-service.c'], + dependencies: [libgnunetarm_dep, libgnunetutil_dep], + include_directories: [incdir, configuration_inc], + install: false) testarmapi = executable ('test_arm_api', - testarmapi_src, - dependencies: [libgnunetarm_dep, libgnunetutil_dep], - include_directories: [incdir, configuration_inc], - install: false) + testarmapi_src, + dependencies: [libgnunetarm_dep, libgnunetutil_dep], + include_directories: [incdir, configuration_inc], + install: false) testexpbo = executable ('test_exponential_backoff', - testexpbo_src, - dependencies: [libgnunetarm_dep, libgnunetutil_dep], - include_directories: [incdir, configuration_inc], - install: false) + testexpbo_src, + dependencies: [libgnunetarm_dep, libgnunetutil_dep], + include_directories: [incdir, configuration_inc], + install: false) testgnunetservice = executable ('test_gnunet_service', - testgnunetservice_src, - dependencies: [libgnunetarm_dep, libgnunetutil_dep], - include_directories: [incdir, configuration_inc], - install: false) + testgnunetservice_src, + dependencies: [libgnunetarm_dep, libgnunetutil_dep], + include_directories: [incdir, configuration_inc], + install: false) configure_file(copy: true, - input: 'test_arm_api_data.conf', - output: 'test_arm_api_data.conf') + input: 'test_arm_api_data.conf', + output: 'test_arm_api_data.conf') # FIXME: We need to convert the convoluted awk script from Makefile.am here #configure_file(copy: true, @@ -63,9 +63,12 @@ configure_file(copy: true, # output: 'test_gnunet_arm.py') test('test_arm_api', testarmapi, workdir: meson.current_build_dir(), - suite: 'arm') + is_parallel: false, + suite: 'arm') test('test_exponential_backoff', testexpbo, workdir: meson.current_build_dir(), depends: mockservice, + is_parallel: false, timeout: 60, suite: 'arm') test('test_gnunet_service_arm', testgnunetservice, workdir: meson.current_build_dir(), - suite: 'arm') + is_parallel: false, + suite: 'arm') diff --git a/src/service/datastore/meson.build b/src/service/datastore/meson.build @@ -3,10 +3,10 @@ libgnunetdatastore_src = ['datastore_api.c'] gnunetservicedatastore_src = ['gnunet-service-datastore.c'] configure_file(input : 'datastore.conf.in', - output : 'datastore.conf', - configuration : cdata, - install: true, - install_dir: pkgcfgdir) + output : 'datastore.conf', + configuration : cdata, + install: true, + install_dir: pkgcfgdir) if get_option('monolith') foreach p : libgnunetdatastore_src + gnunetservicedatastore_src @@ -15,112 +15,118 @@ if get_option('monolith') endif libgnunetdatastore = library('gnunetdatastore', - libgnunetdatastore_src, - soversion: '1', - version: '1.0.0', - dependencies: [libgnunetutil_dep, - libgnunetstatistics_dep, - libgnunetdatacache_dep], - include_directories: [incdir, configuration_inc], - install: true, - install_dir: get_option('libdir')) + libgnunetdatastore_src, + soversion: '1', + version: '1.0.0', + dependencies: [libgnunetutil_dep, + libgnunetstatistics_dep, + libgnunetdatacache_dep], + include_directories: [incdir, configuration_inc], + install: true, + install_dir: get_option('libdir')) libgnunetdatastore_dep = declare_dependency(link_with : libgnunetdatastore) pkg.generate(libgnunetdatastore, url: 'https://www.gnunet.org', - description : 'Management API for the datastore for persistent storage to disk') + description : 'Management API for the datastore for persistent storage to disk') executable ('gnunet-service-datastore', - gnunetservicedatastore_src, - dependencies: [libgnunetdatastore_dep, - libgnunetutil_dep, - libgnunetstatistics_dep, - libgnunetdatacache_dep], - include_directories: [incdir, configuration_inc], - install: true, - install_dir: get_option('libdir')/'gnunet'/'libexec') + gnunetservicedatastore_src, + dependencies: [libgnunetdatastore_dep, + libgnunetutil_dep, + libgnunetstatistics_dep, + libgnunetdatacache_dep], + include_directories: [incdir, configuration_inc], + install: true, + install_dir: get_option('libdir')/'gnunet'/'libexec') testds_sqlite = executable ('test_store_api_sqlite', - ['test_datastore_api.c'], - dependencies: [ - libgnunetdatastore_dep, - libgnunetutil_dep, - libgnunettesting_dep - ], - include_directories: [incdir, configuration_inc], - install: false) + ['test_datastore_api.c'], + dependencies: [ + libgnunetdatastore_dep, + libgnunetutil_dep, + libgnunettesting_dep + ], + include_directories: [incdir, configuration_inc], + install: false) testds_mgmt_sqlite = executable ('test_datastore_api_management_sqlite', - ['test_datastore_api_management.c'], - dependencies: [ - libgnunetdatastore_dep, - libgnunetutil_dep, - libgnunettesting_dep - ], - include_directories: [incdir, configuration_inc], - install: false) + ['test_datastore_api_management.c'], + dependencies: [ + libgnunetdatastore_dep, + libgnunetutil_dep, + libgnunettesting_dep + ], + include_directories: [incdir, configuration_inc], + install: false) testds_heap = executable ('test_datastore_api_heap', - ['test_datastore_api.c'], - dependencies: [ - libgnunetdatastore_dep, - libgnunetutil_dep, - libgnunettesting_dep - ], - include_directories: [incdir, configuration_inc], - install: false) + ['test_datastore_api.c'], + dependencies: [ + libgnunetdatastore_dep, + libgnunetutil_dep, + libgnunettesting_dep + ], + include_directories: [incdir, configuration_inc], + install: false) testds_mgmt_heap = executable ('test_datastore_api_management_heap', - ['test_datastore_api_management.c'], - dependencies: [ - libgnunetdatastore_dep, - libgnunetutil_dep, - libgnunettesting_dep - ], - include_directories: [incdir, configuration_inc], - install: false) + ['test_datastore_api_management.c'], + dependencies: [ + libgnunetdatastore_dep, + libgnunetutil_dep, + libgnunettesting_dep + ], + include_directories: [incdir, configuration_inc], + install: false) testds_pq = executable ('test_datastore_api_postgres', - ['test_datastore_api.c'], - dependencies: [ - libgnunetdatastore_dep, - libgnunetutil_dep, - libgnunettesting_dep - ], - include_directories: [incdir, configuration_inc], - install: false) + ['test_datastore_api.c'], + dependencies: [ + libgnunetdatastore_dep, + libgnunetutil_dep, + libgnunettesting_dep + ], + include_directories: [incdir, configuration_inc], + install: false) testds_mgmt_pq = executable ('test_datastore_api_management_postgres', - ['test_datastore_api_management.c'], - dependencies: [ - libgnunetdatastore_dep, - libgnunetutil_dep, - libgnunettesting_dep - ], - include_directories: [incdir, configuration_inc], - install: false) + ['test_datastore_api_management.c'], + dependencies: [ + libgnunetdatastore_dep, + libgnunetutil_dep, + libgnunettesting_dep + ], + include_directories: [incdir, configuration_inc], + install: false) configure_file(input : 'test_defaults.conf', - output : 'test_defaults.conf', - copy: true) + output : 'test_defaults.conf', + copy: true) configure_file(input : 'test_datastore_api_data_sqlite.conf', - output : 'test_datastore_api_data_sqlite.conf', - copy: true) + output : 'test_datastore_api_data_sqlite.conf', + copy: true) configure_file(input : 'test_datastore_api_data_heap.conf', - output : 'test_datastore_api_data_heap.conf', - copy: true) + output : 'test_datastore_api_data_heap.conf', + copy: true) configure_file(input : 'test_datastore_api_data_postgres.conf', - output : 'test_datastore_api_data_postgres.conf', - copy: true) + output : 'test_datastore_api_data_postgres.conf', + copy: true) test('test_datastore_api_sqlite', testds_sqlite, + is_parallel: false, suite: 'datastore', workdir: meson.current_build_dir()) test('test_datastore_api_management_sqlite', testds_mgmt_sqlite, + is_parallel: false, suite: 'datastore', workdir: meson.current_build_dir()) test('test_datastore_api_heap', testds_heap, + is_parallel: false, suite: 'datastore', workdir: meson.current_build_dir()) test('test_datastore_api_management_heap', testds_mgmt_heap, + is_parallel: false, suite: 'datastore', workdir: meson.current_build_dir()) test('test_datastore_api_postgres', testds_pq, + is_parallel: false, suite: 'datastore', workdir: meson.current_build_dir()) test('test_datastore_api_management_postgres', testds_mgmt_pq, + is_parallel: false, suite: 'datastore', workdir: meson.current_build_dir()) diff --git a/src/service/gns/meson.build b/src/service/gns/meson.build @@ -1,21 +1,21 @@ libgnunetgns_src = ['gns_api.c', 'gns_tld_api.c'] gnunetservicegns_src = ['gnunet-service-gns.c', - 'gnunet-service-gns_resolver.c', - 'gnunet-service-gns_interceptor.c'] + 'gnunet-service-gns_resolver.c', + 'gnunet-service-gns_interceptor.c'] gnunetgnsproxy_src = ['gnunet-gns-proxy.c'] configure_file(input : 'gns.conf.in', - output : 'gns.conf', - configuration : cdata, - install: true, - install_dir: pkgcfgdir) + output : 'gns.conf', + configuration : cdata, + install: true, + install_dir: pkgcfgdir) configure_file(input : 'tlds.conf', - output : 'tlds.conf', - configuration : cdata, - install: true, - install_dir: pkgcfgdir) + output : 'tlds.conf', + configuration : cdata, + install: true, + install_dir: pkgcfgdir) if get_option('monolith') foreach p : libgnunetgns_src + gnunetservicegns_src @@ -24,88 +24,88 @@ if get_option('monolith') endif libgnunetgns = library('gnunetgns', - libgnunetgns_src, - soversion: '0', - version: '0.0.0', - dependencies: [libgnunetutil_dep, - libgnunetgnsrecord_dep, - libgnunetidentity_dep], - include_directories: [incdir, configuration_inc], - install: true, - install_dir: get_option('libdir')) + libgnunetgns_src, + soversion: '0', + version: '0.0.0', + dependencies: [libgnunetutil_dep, + libgnunetgnsrecord_dep, + libgnunetidentity_dep], + include_directories: [incdir, configuration_inc], + install: true, + install_dir: get_option('libdir')) libgnunetgns_dep = declare_dependency(link_with : libgnunetgns) pkg.generate(libgnunetgns, url: 'https://www.gnunet.org', - description : 'Provides API to access the GNU Name System') + description : 'Provides API to access the GNU Name System') executable ('gnunet-gns-proxy', - gnunetgnsproxy_src, - dependencies: [libgnunetgns_dep, - libgnunetutil_dep, - mhd_dep, - idn_dep, - curl_dep, - gnutls_dep, - libgnunetidentity_dep], - include_directories: [incdir, configuration_inc], - install: true, - install_dir: get_option('libdir') / 'gnunet' / 'libexec') + gnunetgnsproxy_src, + dependencies: [libgnunetgns_dep, + libgnunetutil_dep, + mhd_dep, + idn_dep, + curl_dep, + gnutls_dep, + libgnunetidentity_dep], + include_directories: [incdir, configuration_inc], + install: true, + install_dir: get_option('libdir') / 'gnunet' / 'libexec') executable ('gnunet-service-gns', - gnunetservicegns_src, - dependencies: [libgnunetgns_dep, - libgnunetutil_dep, - libgnunetstatistics_dep, - libgnunetcore_dep, - libgnunetdht_dep, - libgnunetdns_dep, - idn_dep, - libgnunetidentity_dep, - libgnunetnamecache_dep, - libgnunetrevocation_dep, - libgnunetgnsrecord_dep, - libgnunetcadet_dep, - libgnunetblock_dep], - include_directories: [incdir, configuration_inc], - install: true, - install_dir: get_option('libdir') / 'gnunet' / 'libexec') + gnunetservicegns_src, + dependencies: [libgnunetgns_dep, + libgnunetutil_dep, + libgnunetstatistics_dep, + libgnunetcore_dep, + libgnunetdht_dep, + libgnunetdns_dep, + idn_dep, + libgnunetidentity_dep, + libgnunetnamecache_dep, + libgnunetrevocation_dep, + libgnunetgnsrecord_dep, + libgnunetcadet_dep, + libgnunetblock_dep], + include_directories: [incdir, configuration_inc], + install: true, + install_dir: get_option('libdir') / 'gnunet' / 'libexec') executable ('gnunet-bcd', - ['gnunet-bcd.c'], - dependencies: [libgnunetgns_dep, - libgnunetutil_dep, - libgnunetstatistics_dep, - libgnunetcore_dep, - libgnunetdht_dep, - libgnunetdns_dep, - mhd_dep, - idn_dep, - libgnunetidentity_dep, - libgnunetnamecache_dep, - libgnunetrevocation_dep, - libgnunetgnsrecord_dep, - libgnunetcadet_dep, - libgnunetblock_dep], - include_directories: [incdir, configuration_inc], - install: true, - install_dir: get_option('libdir') / 'gnunet' / 'libexec') + ['gnunet-bcd.c'], + dependencies: [libgnunetgns_dep, + libgnunetutil_dep, + libgnunetstatistics_dep, + libgnunetcore_dep, + libgnunetdht_dep, + libgnunetdns_dep, + mhd_dep, + idn_dep, + libgnunetidentity_dep, + libgnunetnamecache_dep, + libgnunetrevocation_dep, + libgnunetgnsrecord_dep, + libgnunetcadet_dep, + libgnunetblock_dep], + include_directories: [incdir, configuration_inc], + install: true, + install_dir: get_option('libdir') / 'gnunet' / 'libexec') executable ('gnunet-dns2gns', - ['gnunet-dns2gns.c'], - dependencies: [libgnunetgns_dep, - libgnunetutil_dep, - libgnunetstatistics_dep, - libgnunetvpn_dep, - libgnunetcore_dep, - libgnunetdht_dep, - libgnunetdns_dep, - idn_dep, - libgnunetidentity_dep, - libgnunetnamecache_dep, - libgnunetrevocation_dep, - libgnunetgnsrecord_dep, - libgnunetcadet_dep, - libgnunetblock_dep], - include_directories: [incdir, configuration_inc], - install: true, - install_dir: get_option('libdir') / 'gnunet' / 'libexec') + ['gnunet-dns2gns.c'], + dependencies: [libgnunetgns_dep, + libgnunetutil_dep, + libgnunetstatistics_dep, + libgnunetvpn_dep, + libgnunetcore_dep, + libgnunetdht_dep, + libgnunetdns_dep, + idn_dep, + libgnunetidentity_dep, + libgnunetnamecache_dep, + libgnunetrevocation_dep, + libgnunetgnsrecord_dep, + libgnunetcadet_dep, + libgnunetblock_dep], + include_directories: [incdir, configuration_inc], + install: true, + install_dir: get_option('libdir') / 'gnunet' / 'libexec') if have_nss diff --git a/src/service/namestore/meson.build b/src/service/namestore/meson.build @@ -96,6 +96,7 @@ foreach tn : namestoreapitestnames include_directories: [incdir, configuration_inc], install: false) test(tn + '_sqlite', t, workdir: meson.current_build_dir(), + is_parallel: false, suite: 'namestore') if pq_dep.found() t_pq = executable (tn + '_postgres', @@ -109,6 +110,7 @@ foreach tn : namestoreapitestnames include_directories: [incdir, configuration_inc], install: false) test(tn + '_postgres', t, workdir: meson.current_build_dir(), + is_parallel: false, suite: 'namestore') endif endforeach