> The two test printouts, close to bottom, > > netstat -na > grep '^udp .*7777 ' > test 1 -ne 0 > > are evidence of this. From my point of view the script works for > all sensible UNIX systems, except at NixOS.
The GNU Build System is designed in such a way that it does not assume any path, except perhaps for /bin/sh. The only path we assume is PATH set by the shell. If nixos doesn't search PATH for commands, then it is horribly broken and not a system we will take time to support. We assume basic a POSIX shell like the rest of GNU, and that includes searching a path for commands. But again, this is not the problem here: if netstat is not found you would get that in the log (as previously, see for example http://hydra.nixos.org/build/727555/nixlog/1/raw). And you don't, so the problem lies elsewhere. > The discussion we had earlier was rather animated, but we never got > the feedback we need in order to fix the issue at hand. Yes, just drop AC_PATH_PROG in there, as discussed at <http://thread.gmane.org/gmane.comp.gnu.inetutils.bugs/2994>. I can submit a patch, if that's more convenient for you. That will not fix properly, the tests will either have to be generated during ./configure or `make all'. A better solution would be to check the existence of netstat in the test proper, and exit early if it doesn't exist. How about this patch instead, this doesn't fix Rob's timeouts but it does make the test suite more robust on systems that do not have netstat installed. diff --git a/tests/tftp.sh b/tests/tftp.sh index fec5171..964c096 100755 --- a/tests/tftp.sh +++ b/tests/tftp.sh @@ -19,6 +19,10 @@ # Run `inetd' with `tftpd' and try to fetch a file from there using `tftp'. +if [ "$VERBOSE" ]; then + set -x +fi + TFTP="${TFTP:-../src/tftp$EXEEXT}" TFTPD="${TFTPD:-$PWD/../src/tftpd$EXEEXT}" INETD="${INETD:-../src/inetd$EXEEXT}" @@ -32,8 +36,14 @@ INETD_CONF="$PWD/inetd.conf.tmp" ADDRESSES="`$IFCONFIG | sed -e "/$AF /!d" \ -e "s/^.*$AF[[:blank:]]\([:.0-9]\{1,\}\)[[:blank:]].*$/\1/g"`" +# Check existance of netstat before proceeding. +netstat > /dev/null +if [ ! $? -eq 0 ]; then + echo "netstat is required" + exit 77 +fi + if [ "$VERBOSE" ]; then - set -x "$TFTP" --version "$TFTPD" --version "$INETD" --version
