]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
tests/shell: colorize NFT_TEST_HAS_SOCKET_LIMITS
authorThomas Haller <thaller@redhat.com>
Mon, 18 Sep 2023 18:45:21 +0000 (20:45 +0200)
committerFlorian Westphal <fw@strlen.de>
Mon, 18 Sep 2023 20:07:05 +0000 (22:07 +0200)
NFT_TEST_HAS_SOCKET_LIMITS= is similar to NFT_TEST_HAVE_* variables and
indicates a feature (or lack thereof), except that it's inverted.  Maybe
this should be consolidated, however, NFT_TEST_HAS_SOCKET_LIMITS= is
detected in the root namespace, unlike the shell scripts from features.
So it's unclear how to consolidate them best.

Anyway. Still highlight a lack of the capability, as it can cause tests
to be skipped and we should see that easily.

Signed-off-by: Thomas Haller <thaller@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
tests/shell/run-tests.sh

index 418fab95da945df359dea9b2410e1a8a1b408a62..03021085e0e7bb4e810f70dc26e25eb53ab2969c 100755 (executable)
@@ -30,6 +30,18 @@ array_contains() {
        return 1
 }
 
+colorize_keywords() {
+       local out_variable="$1"
+       local color="$2"
+       local val="$3"
+       local val2
+       shift 3
+
+       printf -v val2 '%q' "$val"
+       array_contains "$val" "$@" && val2="$color$val2$RESET"
+       printf -v "$out_variable" '%s' "$val2"
+}
+
 strtonum() {
        local s="$1"
        local n
@@ -571,7 +583,8 @@ msg_info "conf: DUMPGEN=$(printf '%q' "$DUMPGEN")"
 msg_info "conf: VALGRIND=$(printf '%q' "$VALGRIND")"
 msg_info "conf: KMEMLEAK=$(printf '%q' "$KMEMLEAK")"
 msg_info "conf: NFT_TEST_HAS_REALROOT=$(printf '%q' "$NFT_TEST_HAS_REALROOT")"
-msg_info "conf: NFT_TEST_HAS_SOCKET_LIMITS=$(printf '%q' "$NFT_TEST_HAS_SOCKET_LIMITS")"
+colorize_keywords value "$YELLOW" "$NFT_TEST_HAS_SOCKET_LIMITS" y
+msg_info "conf: NFT_TEST_HAS_SOCKET_LIMITS=$value"
 msg_info "conf: NFT_TEST_UNSHARE_CMD=$(printf '%q' "$NFT_TEST_UNSHARE_CMD")"
 msg_info "conf: NFT_TEST_HAS_UNSHARED=$(printf '%q' "$NFT_TEST_HAS_UNSHARED")"
 msg_info "conf: NFT_TEST_HAS_UNSHARED_MOUNT=$(printf '%q' "$NFT_TEST_HAS_UNSHARED_MOUNT")"
@@ -582,19 +595,13 @@ msg_info "conf: NFT_TEST_SHUFFLE_TESTS=$NFT_TEST_SHUFFLE_TESTS"
 msg_info "conf: TMPDIR=$(printf '%q' "$_TMPDIR")"
 echo
 for KEY in $(compgen -v | grep '^NFT_TEST_SKIP_' | sort) ; do
-       v="${!KEY}"
-       if [ "$v" = y ] ; then
-               v="$YELLOW$v$RESET"
-       fi
-       msg_info "conf: $KEY=$v"
+       colorize_keywords value "$YELLOW" "${!KEY}" y
+       msg_info "conf: $KEY=$value"
        export "$KEY"
 done
 for KEY in $(compgen -v | grep '^NFT_TEST_HAVE_' | sort) ; do
-       v="${!KEY}"
-       if [ "$v" = n ] ; then
-               v="$YELLOW$v$RESET"
-       fi
-       msg_info "conf: $KEY=$v"
+       colorize_keywords value "$YELLOW" "${!KEY}" n
+       msg_info "conf: $KEY=$value"
        export "$KEY"
 done