Testsuite: Test for existence if 'ip'
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Tue, 18 Oct 2016 20:16:24 +0000 (22:16 +0200)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Wed, 19 Oct 2016 22:15:49 +0000 (00:15 +0200)
test/runtest

index 7fe0e5daefdcf0397cb17e54100114aed9eb14fb..8dca8316bc368dc882cdf904cf72fe073a954d2e 100755 (executable)
@@ -3039,9 +3039,8 @@ else
 # Find this host's IP addresses - there may be many, of course, but we keep
 # one of each type (IPv4 and IPv6).
 
-open(IFCONFIG, 'ip address|')           # show *all*, addresses w/o label
-    or open(IFCONFIG, 'ifconfig -a|')   # probably skips addresses w/o label
-    or die "** Cannot run 'ifconfig' or 'ip address': $!\n";
+open(IFCONFIG, '-|', (grep { -x "$_/ip" } split /:/, $ENV{PATH}) ? 'ip address' : 'ifconfig -a')
+  or die "** Cannot run 'ip address' or 'ifconfig -a'\n";
 while (not ($parm_ipv4 and $parm_ipv6) and defined($_ = <IFCONFIG>))
   {
   if (not $parm_ipv4 and /^\s*inet(?:\saddr)?:?\s?(\d+\.\d+\.\d+\.\d+)(?:\/\d+)\s/i)