|
@@ -1,218 +0,0 @@
|
|
|
-From 3163c49f9f4ad473a00d8a345ee334a028376011 Mon Sep 17 00:00:00 2001
|
|
|
-From: Heiko Becker <heirecka@exherbo.org>
|
|
|
-Date: Fri, 23 Jul 2021 16:32:46 +0200
|
|
|
-Subject: [PATCH] meson: Make tests optional
|
|
|
-
|
|
|
-Now can be disabled with -DSKIP_TESTS=true.
|
|
|
-
|
|
|
-It allows to avoid meson error during build when ip isn't installed.
|
|
|
-
|
|
|
-Closes: #359
|
|
|
-
|
|
|
-Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
|
|
|
-Signed-off-by: Heiko Becker <heirecka@exherbo.org>
|
|
|
-[ pvorel: Rename variable TEST => SKIP_TESTS, default false, adjust
|
|
|
-the description ]
|
|
|
-Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
|
|
|
-
|
|
|
-[Retrieved from:
|
|
|
-https://github.com/iputils/iputils/commit/3163c49f9f4ad473a00d8a345ee334a028376011]
|
|
|
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
|
----
|
|
|
- meson_options.txt | 3 ++
|
|
|
- ping/meson.build | 84 ++-----------------------------------------
|
|
|
- ping/test/meson.build | 81 +++++++++++++++++++++++++++++++++++++++++
|
|
|
- 3 files changed, 86 insertions(+), 82 deletions(-)
|
|
|
- create mode 100644 ping/test/meson.build
|
|
|
-
|
|
|
-diff --git a/meson_options.txt b/meson_options.txt
|
|
|
-index ac5f5d98..517667f4 100644
|
|
|
---- a/meson_options.txt
|
|
|
-+++ b/meson_options.txt
|
|
|
-@@ -72,3 +72,6 @@ option('INSTALL_SYSTEMD_UNITS', type: 'boolean', value: false,
|
|
|
-
|
|
|
- option('USE_GETTEXT', type: 'boolean', value: true,
|
|
|
- description: 'Enable I18N')
|
|
|
-+
|
|
|
-+option('SKIP_TESTS', type: 'boolean', value: false,
|
|
|
-+ description: 'Skip tests during build')
|
|
|
-diff --git a/ping/meson.build b/ping/meson.build
|
|
|
-index 1e678ec8..83ea353c 100644
|
|
|
---- a/ping/meson.build
|
|
|
-+++ b/ping/meson.build
|
|
|
-@@ -27,86 +27,6 @@ if (setcap_ping)
|
|
|
- )
|
|
|
- endif
|
|
|
-
|
|
|
--##### TESTS #####
|
|
|
--
|
|
|
--# TODO: ::1 generates DEPRECATION: ":" is not allowed in test name "ping -c1 ::1", it has been replaced with "_"
|
|
|
--
|
|
|
--# GitHub CI does not have working IPv6
|
|
|
--# https://github.com/actions/virtual-environments/issues/668
|
|
|
--ipv6_dst = []
|
|
|
--ipv6_switch = []
|
|
|
--r = run_command('ip', '-6', 'a')
|
|
|
--if r.stdout().strip().contains('::1')
|
|
|
-- message('IPv6 enabled')
|
|
|
-- ipv6_dst = [ '::1' ]
|
|
|
-- ipv6_switch = [ '-6' ]
|
|
|
--else
|
|
|
-- message('WARNING: IPv6 disabled')
|
|
|
-+if not get_option('SKIP_TESTS')
|
|
|
-+ subdir('test')
|
|
|
- endif
|
|
|
--
|
|
|
--run_as_root = false
|
|
|
--r = run_command('id', '-u')
|
|
|
--if r.stdout().strip().to_int() == 0
|
|
|
-- message('running as root')
|
|
|
-- run_as_root = true
|
|
|
--else
|
|
|
-- message('running as normal user')
|
|
|
--endif
|
|
|
--
|
|
|
--foreach dst : [ 'localhost', '127.0.0.1' ] + ipv6_dst
|
|
|
-- foreach switch : [ '', '-4' ] + ipv6_switch
|
|
|
-- args = [ '-c1', dst ]
|
|
|
-- should_fail = false
|
|
|
--
|
|
|
-- if switch != ''
|
|
|
-- args = [switch] + args
|
|
|
-- if (switch == '-4' and dst == '::1') or (switch == '-6' and dst == '127.0.0.1')
|
|
|
-- should_fail = true
|
|
|
-- endif
|
|
|
-- endif
|
|
|
--
|
|
|
-- name = 'ping ' + ' '.join(args)
|
|
|
-- test(name, ping, args : args, should_fail : should_fail)
|
|
|
-- endforeach
|
|
|
--endforeach
|
|
|
--
|
|
|
--ping_tests_opt = [
|
|
|
-- [ '-c1' ],
|
|
|
-- [ '-c5', '-i0.1' ],
|
|
|
-- [ '-c1', '-I', 'lo' ],
|
|
|
-- [ '-c1', '-w1' ],
|
|
|
-- [ '-c1', '-W1' ],
|
|
|
-- [ '-c1', '-W1.1' ],
|
|
|
--]
|
|
|
--foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
|
|
-- foreach args : ping_tests_opt
|
|
|
-- args += [ dst ]
|
|
|
-- name = 'ping ' + ' '.join(args)
|
|
|
-- test(name, ping, args : args)
|
|
|
-- endforeach
|
|
|
--endforeach
|
|
|
--
|
|
|
--ping_tests_opt_fail = [
|
|
|
-- [ '-c1.1' ],
|
|
|
-- [ '-I', 'nonexisting' ],
|
|
|
-- [ '-w0.1' ],
|
|
|
-- [ '-w0,1' ],
|
|
|
--]
|
|
|
--foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
|
|
-- foreach args : ping_tests_opt_fail
|
|
|
-- args += [ dst ]
|
|
|
-- name = 'ping ' + ' '.join(args)
|
|
|
-- test(name, ping, args : args, should_fail : true)
|
|
|
-- endforeach
|
|
|
--endforeach
|
|
|
--
|
|
|
--ping_tests_user_fail = [
|
|
|
-- [ '-c1', '-i0.001' ], # -c1 required to quit ping when running as root
|
|
|
--]
|
|
|
--foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
|
|
-- foreach args : ping_tests_user_fail
|
|
|
-- args += [ dst ]
|
|
|
-- name = 'ping ' + ' '.join(args)
|
|
|
-- test(name, ping, args : args, should_fail : not run_as_root)
|
|
|
-- endforeach
|
|
|
--endforeach
|
|
|
-diff --git a/ping/test/meson.build b/ping/test/meson.build
|
|
|
-new file mode 100644
|
|
|
-index 00000000..43aed758
|
|
|
---- /dev/null
|
|
|
-+++ b/ping/test/meson.build
|
|
|
-@@ -0,0 +1,81 @@
|
|
|
-+# TODO: ::1 generates DEPRECATION: ":" is not allowed in test name "ping -c1 ::1", it has been replaced with "_"
|
|
|
-+
|
|
|
-+# GitHub CI does not have working IPv6
|
|
|
-+# https://github.com/actions/virtual-environments/issues/668
|
|
|
-+ipv6_dst = []
|
|
|
-+ipv6_switch = []
|
|
|
-+r = run_command('ip', '-6', 'a')
|
|
|
-+if r.stdout().strip().contains('::1')
|
|
|
-+ message('IPv6 enabled')
|
|
|
-+ ipv6_dst = [ '::1' ]
|
|
|
-+ ipv6_switch = [ '-6' ]
|
|
|
-+else
|
|
|
-+ message('WARNING: IPv6 disabled')
|
|
|
-+endif
|
|
|
-+
|
|
|
-+run_as_root = false
|
|
|
-+r = run_command('id', '-u')
|
|
|
-+if r.stdout().strip().to_int() == 0
|
|
|
-+ message('running as root')
|
|
|
-+ run_as_root = true
|
|
|
-+else
|
|
|
-+ message('running as normal user')
|
|
|
-+endif
|
|
|
-+
|
|
|
-+foreach dst : [ 'localhost', '127.0.0.1' ] + ipv6_dst
|
|
|
-+ foreach switch : [ '', '-4' ] + ipv6_switch
|
|
|
-+ args = [ '-c1', dst ]
|
|
|
-+ should_fail = false
|
|
|
-+
|
|
|
-+ if switch != ''
|
|
|
-+ args = [switch] + args
|
|
|
-+ if (switch == '-4' and dst == '::1') or (switch == '-6' and dst == '127.0.0.1')
|
|
|
-+ should_fail = true
|
|
|
-+ endif
|
|
|
-+ endif
|
|
|
-+
|
|
|
-+ name = 'ping ' + ' '.join(args)
|
|
|
-+ test(name, ping, args : args, should_fail : should_fail)
|
|
|
-+ endforeach
|
|
|
-+endforeach
|
|
|
-+
|
|
|
-+ping_tests_opt = [
|
|
|
-+ [ '-c1' ],
|
|
|
-+ [ '-c5', '-i0.1' ],
|
|
|
-+ [ '-c1', '-I', 'lo' ],
|
|
|
-+ [ '-c1', '-w1' ],
|
|
|
-+ [ '-c1', '-W1' ],
|
|
|
-+ [ '-c1', '-W1.1' ],
|
|
|
-+]
|
|
|
-+foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
|
|
-+ foreach args : ping_tests_opt
|
|
|
-+ args += [ dst ]
|
|
|
-+ name = 'ping ' + ' '.join(args)
|
|
|
-+ test(name, ping, args : args)
|
|
|
-+ endforeach
|
|
|
-+endforeach
|
|
|
-+
|
|
|
-+ping_tests_opt_fail = [
|
|
|
-+ [ '-c1.1' ],
|
|
|
-+ [ '-I', 'nonexisting' ],
|
|
|
-+ [ '-w0.1' ],
|
|
|
-+ [ '-w0,1' ],
|
|
|
-+]
|
|
|
-+foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
|
|
-+ foreach args : ping_tests_opt_fail
|
|
|
-+ args += [ dst ]
|
|
|
-+ name = 'ping ' + ' '.join(args)
|
|
|
-+ test(name, ping, args : args, should_fail : true)
|
|
|
-+ endforeach
|
|
|
-+endforeach
|
|
|
-+
|
|
|
-+ping_tests_user_fail = [
|
|
|
-+ [ '-c1', '-i0.001' ], # -c1 required to quit ping when running as root
|
|
|
-+]
|
|
|
-+foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
|
|
-+ foreach args : ping_tests_user_fail
|
|
|
-+ args += [ dst ]
|
|
|
-+ name = 'ping ' + ' '.join(args)
|
|
|
-+ test(name, ping, args : args, should_fail : not run_as_root)
|
|
|
-+ endforeach
|
|
|
-+endforeach
|