bedtools2 icon indicating copy to clipboard operation
bedtools2 copied to clipboard

Patch test.sh to verify process substitution support

Open outpaddling opened this issue 4 years ago • 2 comments

Some systems, including at least FreeBSD and NetBSD, do not have fdesc fs mounted by default on a minimal install. This will cause process substitutions [e.g. cmd <(other-cmd)] like those in the test scripts to fail. The patch below will inform users that they need fdesc mounted in order for the tests to succeed.

--- test/test.sh.orig	2021-02-07 19:54:21.793084552 +0000
+++ test/test.sh
@@ -1,5 +1,13 @@
 set -e; # Alert user to any uncaught error
 
+if [ $(uname) = FreeBSD ] || [ $(uname) = NetBSD ]; then
+    if ! df | fgrep -q fdesc; then
+        echo "fdesc FS must be mounted in order to run $0."
+        echo "It uses bash process substitutions, e.g. <(ls)."
+        exit 1
+    fi
+fi
+
 ulimit -c unlimited
 
 STARTWD=$(pwd);

outpaddling avatar Feb 07 '21 20:02 outpaddling

Thanks for this! By the way, I will get to the other patches you provided after the 19th. I am buried in grants and other deadlines until then. Sorry for the delay.

arq5x avatar Feb 08 '21 15:02 arq5x

No worries, the patches can reside in the port/package framework until you import whichever ones you deem appropriate. We (package maintainers) just hope to move as many as possible upstream and reduce the patch count in some future update.

BTW, the 2.30.0 pkgsrc package tests 100% correct on CentOS 7, Darwin, and NetBSD.

Good luck with the grants!

outpaddling avatar Feb 08 '21 16:02 outpaddling