From: Jonatan Schlag Date: Sun, 16 Jun 2024 16:02:35 +0000 (+0200) Subject: test: Add functions test_that_array_is_defined X-Git-Tag: v2.29-core189~65^2~86 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=644b91e3023ee306f411450048529c9f66cfed16;p=ipfire-2.x.git test: Add functions test_that_array_is_defined we need this check in multiple places so it makes sense to move this to a separate function. Signed-off-by: Jonatan Schlag Signed-off-by: Michael Tremer --- diff --git a/tests/lib.sh b/tests/lib.sh index 4110ed2d89..32481b6a52 100644 --- a/tests/lib.sh +++ b/tests/lib.sh @@ -34,11 +34,8 @@ var_has_value() { [[ "${!1}" == "${2}" ]] } -test_value_in_array() { - local -n array="${1}" +test_that_array_is_defined() { local arrayname="${1}" - local key="${2}" - local value="${3}" # `declare -p` print out how the variable with the name $arrayname was declared # If the array was not declared as indexed or associative array we fail. We cannot check for a value in an array if @@ -46,7 +43,19 @@ test_value_in_array() { if [[ ! "$(declare -p "${arrayname}")" =~ "declare -a" && ! "$(declare -p "${arrayname}")" =~ "declare -A" ]]; then log_test_failed "The array '${1}' does not exists. The variable is not set." return 1 + else + log_test_succeded "The array '${1}' is defined." + return 0 fi +} + +test_value_in_array() { + local -n array="${1}" + local arrayname="${1}" + local key="${2}" + local value="${3}" + + test_that_array_is_defined "${arrayname}" || return 1 # If key is not defined we return _ # If the key is defined we return nothing