]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
SCRIPT: run-regtests: avoid several calls to grep to test for features
authorWilly Tarreau <w@1wt.eu>
Thu, 18 Nov 2021 14:05:45 +0000 (15:05 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 18 Nov 2021 16:54:49 +0000 (17:54 +0100)
grep is used in the arguments loops to check for features such as OPENSSL
or LUA or services like prometheus-exporter. Let's just look for the words
inside the list, which requires to prepend a delimitor at the beginning of
the list and add one at the end.

scripts/run-regtests.sh

index 5acd5a15ab6cb5375e06821839b22004c91ced7b..1af935075e842ffaa67a8cbf0b073881607b81f7 100755 (executable)
@@ -197,7 +197,7 @@ _findtests() {
       IFS="|"; set -- $requiredoption;  IFS=$OLDIFS; alternatives="$*"
       found=
       for alt in $alternatives; do
-        if echo "$FEATURES" | grep -qw "\+$alt"; then
+        if [ -z "${FEATURES_PATTERN##* +$alt *}" ]; then
           found=1;
        fi
       done
@@ -211,7 +211,7 @@ _findtests() {
       IFS="|"; set -- $requiredservice;  IFS=$OLDIFS; alternatives="$*"
       found=
       for alt in $alternatives; do
-        if echo "$SERVICES" | grep -qw "$alt"; then
+        if [ -z "${SERVICES_PATTERN##* $alt *}" ]; then
           found=1;
        fi
       done
@@ -345,6 +345,9 @@ EOF
 HAPROXY_VERSION=$(echo $HAPROXY_VERSION | cut -d " " -f 3)
 echo "Testing with haproxy version: $HAPROXY_VERSION"
 
+FEATURES_PATTERN=" $FEATURES "
+SERVICES_PATTERN=" $SERVICES "
+
 TESTRUNDATETIME="$(date '+%Y-%m-%d_%H-%M-%S')"
 
 mkdir -p "$TESTDIR" || exit 1