diff options
author | Sam James <sam@gentoo.org> | 2021-09-10 18:17:36 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-09-10 18:17:36 +0100 |
commit | b88892c8d906c8bf491a8d9cf8fd7ddde1251700 (patch) | |
tree | 6bfc1fe62d3009bbbc6af7e842c6eb7113693c5b /net-misc/iputils | |
parent | dev-python/jupyter_server_mathjax: enable py3.10, fix tests (diff) | |
download | gentoo-b88892c8d906c8bf491a8d9cf8fd7ddde1251700.tar.gz gentoo-b88892c8d906c8bf491a8d9cf8fd7ddde1251700.tar.bz2 gentoo-b88892c8d906c8bf491a8d9cf8fd7ddde1251700.zip |
net-misc/iputils: make tests conditional
Closes: https://bugs.gentoo.org/807973
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-misc/iputils')
-rw-r--r-- | net-misc/iputils/files/iputils-20210722-optional-tests.patch | 202 | ||||
-rw-r--r-- | net-misc/iputils/iputils-20210722.ebuild | 10 | ||||
-rw-r--r-- | net-misc/iputils/iputils-99999999.ebuild | 5 |
3 files changed, 215 insertions, 2 deletions
diff --git a/net-misc/iputils/files/iputils-20210722-optional-tests.patch b/net-misc/iputils/files/iputils-20210722-optional-tests.patch new file mode 100644 index 000000000000..d6c4e98c0800 --- /dev/null +++ b/net-misc/iputils/files/iputils-20210722-optional-tests.patch @@ -0,0 +1,202 @@ +https://github.com/iputils/iputils/commit/3163c49f9f4ad473a00d8a345ee334a028376011.patch +https://bugs.gentoo.org/807973 + +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> +--- 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') +--- 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 +--- /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 diff --git a/net-misc/iputils/iputils-20210722.ebuild b/net-misc/iputils/iputils-20210722.ebuild index 0e3d015bdb90..b89114ba0788 100644 --- a/net-misc/iputils/iputils-20210722.ebuild +++ b/net-misc/iputils/iputils-20210722.ebuild @@ -28,10 +28,12 @@ HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils" LICENSE="BSD GPL-2+ rdisc" SLOT="0" -IUSE="+arping caps clockdiff doc gcrypt idn ipv6 nettle nls rarpd rdisc ssl static tftpd tracepath traceroute6" +IUSE="+arping caps clockdiff doc gcrypt idn ipv6 nettle nls rarpd rdisc ssl static test tftpd tracepath traceroute6" +RESTRICT="!test? ( test )" BDEPEND=" virtual/pkgconfig + test? ( sys-apps/iproute2 ) nls? ( sys-devel/gettext ) " @@ -62,6 +64,11 @@ if [[ ${PV} == "99999999" ]] ; then " fi +PATCHES=( + # Upstream; drop on bump + "${FILESDIR}"/${P}-optional-tests.patch +) + src_prepare() { default @@ -88,6 +95,7 @@ src_configure() { -DNO_SETCAP_OR_SUID="true" -Dsystemdunitdir="$(systemd_get_systemunitdir)" -DUSE_GETTEXT="$(usex nls true false)" + $(meson_use !test SKIP_TESTS) ) if [[ "${PV}" == 99999999 ]] ; then diff --git a/net-misc/iputils/iputils-99999999.ebuild b/net-misc/iputils/iputils-99999999.ebuild index 0e3d015bdb90..fe97d131c7f4 100644 --- a/net-misc/iputils/iputils-99999999.ebuild +++ b/net-misc/iputils/iputils-99999999.ebuild @@ -28,10 +28,12 @@ HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils" LICENSE="BSD GPL-2+ rdisc" SLOT="0" -IUSE="+arping caps clockdiff doc gcrypt idn ipv6 nettle nls rarpd rdisc ssl static tftpd tracepath traceroute6" +IUSE="+arping caps clockdiff doc gcrypt idn ipv6 nettle nls rarpd rdisc ssl static test tftpd tracepath traceroute6" +RESTRICT="!test? ( test )" BDEPEND=" virtual/pkgconfig + test? ( sys-apps/iproute2 ) nls? ( sys-devel/gettext ) " @@ -88,6 +90,7 @@ src_configure() { -DNO_SETCAP_OR_SUID="true" -Dsystemdunitdir="$(systemd_get_systemunitdir)" -DUSE_GETTEXT="$(usex nls true false)" + $(meson_use !test SKIP_TESTS) ) if [[ "${PV}" == 99999999 ]] ; then |