aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schanzenbach <schanzen@gnunet.org>2023-11-30 10:46:53 +0100
committerMartin Schanzenbach <schanzen@gnunet.org>2023-11-30 10:46:53 +0100
commitaa8979eac7a4f6621c02261e6ea1120f31fbe546 (patch)
tree634f9cddf993ef5ecc9d4a92bf66518f7d85fb01
parent7f111dc6ba06bf7b858a18899ccb9bbb7298fa2d (diff)
downloadgnunet-aa8979eac7a4f6621c02261e6ea1120f31fbe546.tar.gz
gnunet-aa8979eac7a4f6621c02261e6ea1120f31fbe546.zip
meson: add some more transport tests
-rw-r--r--meson.build4
-rw-r--r--src/service/transport/meson.build182
2 files changed, 168 insertions, 18 deletions
diff --git a/meson.build b/meson.build
index f604bd67f..78c76398d 100644
--- a/meson.build
+++ b/meson.build
@@ -170,6 +170,10 @@ sodium_dep = dependency('libsodium', required : false, version: '>=1.0.18')
170if not sodium_dep.found() 170if not sodium_dep.found()
171 sodium_dep = cc.find_library('sodium', required : true) 171 sodium_dep = cc.find_library('sodium', required : true)
172endif 172endif
173quic_dep = dependency('libquiche', required : false)
174if not quic_dep.found()
175 quic_dep = cc.find_library('quiche', required : false)
176endif
173 177
174idn_dep = dependency('libidn2', required : false) 178idn_dep = dependency('libidn2', required : false)
175if not idn_dep.found() 179if not idn_dep.found()
diff --git a/src/service/transport/meson.build b/src/service/transport/meson.build
index 537002189..4dc6a9991 100644
--- a/src/service/transport/meson.build
+++ b/src/service/transport/meson.build
@@ -151,6 +151,20 @@ executable ('gnunet-communicator-tcp',
151 include_directories: [incdir, configuration_inc], 151 include_directories: [incdir, configuration_inc],
152 install: true, 152 install: true,
153 install_dir: get_option('libdir') / 'gnunet' / 'libexec') 153 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
154if quic_dep.found() and get_option('experimental')
155executable ('gnunet-communicator-quic',
156 gnunetcommunicatortcp_src,
157 dependencies: [libgnunettransportcommunicator_dep,
158 libgnunetpeerstore_dep,
159 libgnunetstatistics_dep,
160 libgnunetnat_dep,
161 gcrypt_dep,
162 quic_dep,
163 libgnunetutil_dep],
164 include_directories: [incdir, configuration_inc],
165 install: true,
166 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
167endif
154 168
155libgnunettesttransport_cmd_simplesend = library('gnunet_test_transport_plugin_cmd_simple_send', 169libgnunettesttransport_cmd_simplesend = library('gnunet_test_transport_plugin_cmd_simple_send',
156 ['test_transport_plugin_cmd_simple_send.c'], 170 ['test_transport_plugin_cmd_simple_send.c'],
@@ -264,7 +278,7 @@ configure_file(input : 'test_transport_defaults.conf',
264 output : 'test_transport_defaults.conf', 278 output : 'test_transport_defaults.conf',
265 copy: true) 279 copy: true)
266 280
267foreach p : ['unix', 'tcp', 'udp'] 281foreach p : ['unix', 'tcp', 'udp', 'quic']
268 configure_file(input : 'test_communicator_'+p+'_basic_peer1.conf', 282 configure_file(input : 'test_communicator_'+p+'_basic_peer1.conf',
269 output : 'test_communicator_'+p+'_basic_peer1.conf', 283 output : 'test_communicator_'+p+'_basic_peer1.conf',
270 copy: true) 284 copy: true)
@@ -273,6 +287,29 @@ foreach p : ['unix', 'tcp', 'udp']
273 copy: true) 287 copy: true)
274endforeach 288endforeach
275 289
290foreach p : ['tcp', 'udp']
291 configure_file(input : 'test_communicator_'+p+'_rekey_peer1.conf',
292 output : 'test_communicator_'+p+'_rekey_peer1.conf',
293 copy: true)
294 configure_file(input : 'test_communicator_'+p+'_rekey_peer2.conf',
295 output : 'test_communicator_'+p+'_rekey_peer2.conf',
296 copy: true)
297endforeach
298
299configure_file(input : 'test_communicator_udp_backchannel_peer1.conf',
300 output : 'test_communicator_udp_backchannel_peer1.conf',
301 copy: true)
302configure_file(input : 'test_communicator_udp_backchannel_peer2.conf',
303 output : 'test_communicator_udp_backchannel_peer2.conf',
304 copy: true)
305
306configure_file(input : 'test_communicator_tcp_bidirect_peer1.conf',
307 output : 'test_communicator_tcp_bidirect_peer1.conf',
308 copy: true)
309configure_file(input : 'test_communicator_tcp_bidirect_peer2.conf',
310 output : 'test_communicator_tcp_bidirect_peer2.conf',
311 copy: true)
312
276testcommunicator_basic_unix = executable('test_communicator_basic-unix', 313testcommunicator_basic_unix = executable('test_communicator_basic-unix',
277 ['test_communicator_basic.c'], 314 ['test_communicator_basic.c'],
278 dependencies: [ 315 dependencies: [
@@ -321,9 +358,118 @@ testcommunicator_basic_udp = executable('test_communicator_basic-udp',
321 ], 358 ],
322 include_directories: [incdir, configuration_inc], 359 include_directories: [incdir, configuration_inc],
323 install: false) 360 install: false)
361if quic_dep.found() and get_option('experimental')
362 testcommunicator_basic_quic = executable('test_communicator_basic-quic',
363 ['test_communicator_basic.c'],
364 dependencies: [
365 libgnunetutil_dep,
366 libgnunettransportapplication_dep,
367 libgnunettransporttesting2_dep,
368 libgnunettransportcore_dep,
369 libgnunettesting_dep,
370 libgnunetpeerstore_dep,
371 libgnunetstatistics_dep,
372 libgnunethello_dep,
373 libgnunetarm_dep,
374 libgnunetutil_dep
375 ],
376 include_directories: [incdir, configuration_inc],
377 install: false)
378endif
379
380testcommunicator_rekey_tcp = executable('test_communicator_rekey-tcp',
381 ['test_communicator_basic.c'],
382 dependencies: [
383 libgnunetutil_dep,
384 libgnunettransportapplication_dep,
385 libgnunettransporttesting2_dep,
386 libgnunettransportcore_dep,
387 libgnunettesting_dep,
388 libgnunetpeerstore_dep,
389 libgnunetstatistics_dep,
390 libgnunethello_dep,
391 libgnunetarm_dep,
392 libgnunetutil_dep
393 ],
394 include_directories: [incdir, configuration_inc],
395 install: false)
396
397testcommunicator_rekey_udp = executable('test_communicator_rekey-udp',
398 ['test_communicator_basic.c'],
399 dependencies: [
400 libgnunetutil_dep,
401 libgnunettransportapplication_dep,
402 libgnunettransporttesting2_dep,
403 libgnunettransportcore_dep,
404 libgnunettesting_dep,
405 libgnunetpeerstore_dep,
406 libgnunetstatistics_dep,
407 libgnunethello_dep,
408 libgnunetarm_dep,
409 libgnunetutil_dep
410 ],
411 include_directories: [incdir, configuration_inc],
412 install: false)
413
414testcommunicator_backchannel_udp = executable('test_communicator_backchannel-udp',
415 ['test_communicator_basic.c'],
416 dependencies: [
417 libgnunetutil_dep,
418 libgnunettransportapplication_dep,
419 libgnunettransporttesting2_dep,
420 libgnunettransportcore_dep,
421 libgnunettesting_dep,
422 libgnunetpeerstore_dep,
423 libgnunetstatistics_dep,
424 libgnunethello_dep,
425 libgnunetarm_dep,
426 libgnunetutil_dep
427 ],
428 include_directories: [incdir, configuration_inc],
429 install: false)
430
431testcommunicator_bidirect_tcp = executable('test_communicator_bidirect-tcp',
432 ['test_communicator_basic.c'],
433 dependencies: [
434 libgnunetutil_dep,
435 libgnunettransportapplication_dep,
436 libgnunettransporttesting2_dep,
437 libgnunettransportcore_dep,
438 libgnunettesting_dep,
439 libgnunetpeerstore_dep,
440 libgnunetstatistics_dep,
441 libgnunethello_dep,
442 libgnunetarm_dep,
443 libgnunetutil_dep
444 ],
445 include_directories: [incdir, configuration_inc],
446 install: false)
324 447
325 448
449testtransport_test_names = [
450 'test_transport_start_testcase',
451 'test_transport_simple_send_performance',
452 'test_transport_nat_icmp_tcp',
453 'test_transport_nat_upnp',
454 'test_transport_simple_send_string',
455 'test_transport_simple_send',
456 'test_transport_simple_send_broadcast',
457 'test_transport_udp_backchannel',
458 'test_transport_simple_send_dv_circle',
459 'test_transport_simple_send_dv_inverse'
460 ]
326 461
462foreach t : testtransport_test_names
463
464 test_filename = t + '.sh'
465 test_file = configure_file(input : test_filename,
466 output : test_filename,
467 copy: true)
468
469 if host_machine.system() != 'darwin'
470 test(t, test_file, suite: 'transport', workdir: meson.current_build_dir(), is_parallel: false)
471 endif
472endforeach
327 473
328test('test_communicator_basic-unix', testcommunicator_basic_unix, 474test('test_communicator_basic-unix', testcommunicator_basic_unix,
329 workdir: meson.current_build_dir(), 475 workdir: meson.current_build_dir(),
@@ -334,20 +480,20 @@ test('test_communicator_basic-tcp', testcommunicator_basic_tcp,
334test('test_communicator_basic-udp', testcommunicator_basic_udp, 480test('test_communicator_basic-udp', testcommunicator_basic_udp,
335 workdir: meson.current_build_dir(), 481 workdir: meson.current_build_dir(),
336 suite: ['transport', 'communicator']) 482 suite: ['transport', 'communicator'])
337#if quic_dep.found() 483if quic_dep.found() and get_option('experimental')
338# test('test_communicator_basic-quic', testcommunicator_basic_quic, 484 test('test_communicator_basic-quic', testcommunicator_basic_quic,
339# workdir: meson.current_build_dir(), 485 workdir: meson.current_build_dir(),
340# suite: ['transport', 'communicator']) 486 suite: ['transport', 'communicator'])
341#endif 487endif
342#test('test_communicator_rekey-tcp', testcommunicator_rekey_tcp, 488test('test_communicator_rekey-tcp', testcommunicator_rekey_tcp,
343# workdir: meson.current_build_dir(), 489 workdir: meson.current_build_dir(),
344# suite: ['transport', 'communicator']) 490 suite: ['transport', 'communicator'])
345#test('test_communicator_rekey-udp', testcommunicator_rekey_udp, 491test('test_communicator_rekey-udp', testcommunicator_rekey_udp,
346# workdir: meson.current_build_dir(), 492 workdir: meson.current_build_dir(),
347# suite: ['transport', 'communicator']) 493 suite: ['transport', 'communicator'])
348#test('test_communicator_backchannel-udp', testcommunicator_backchannel_udp, 494test('test_communicator_backchannel-udp', testcommunicator_backchannel_udp,
349# workdir: meson.current_build_dir(), 495 workdir: meson.current_build_dir(),
350# suite: ['transport', 'communicator']) 496 suite: ['transport', 'communicator'])
351#test('test_communicator_bidirect-tcp', testcommunicator_bidirect_tcp, 497test('test_communicator_bidirect-tcp', testcommunicator_bidirect_tcp,
352# workdir: meson.current_build_dir(), 498 workdir: meson.current_build_dir(),
353# suite: ['transport', 'communicator']) 499 suite: ['transport', 'communicator'])