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 <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Jonatan Schlag
2024-06-16 18:02:35 +02:00
committed by Michael Tremer
parent 8f4c1855fa
commit 644b91e302

View File

@@ -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