[v2,08/18] test: Add functions test_that_array_is_defined

Message ID 20240616160245.18865-9-jonatan.schlag@ipfire.org
State New
Headers
Series [v2,01/18] tests: Add bash lib |

Commit Message

Jonatan Schlag June 16, 2024, 4:02 p.m. UTC
  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>
---
 tests/lib.sh | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
  

Patch

diff --git a/tests/lib.sh b/tests/lib.sh
index 4110ed2d8..32481b6a5 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