mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
Black on white is still the best to read. So we only style FAILED or PASSED in green or red. This is also tested with different background colors. As we only style PASSED or FAILED it works without any problems Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org> Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
59 lines
1.5 KiB
Bash
59 lines
1.5 KiB
Bash
#!/usr/bin/bash
|
|
|
|
# Get the path of this file.
|
|
# This ist rather complex as we do not want the calling script file
|
|
# That why we use BASH_SOURCE[0]
|
|
LIB_DIR="$(readlink -f "${BASH_SOURCE[0]}")"
|
|
# In LIB_DIR is currently saved the path to this file you are currently reading
|
|
# but we need the directory where it is located so:
|
|
LIB_DIR="$(dirname "${LIB_DIR}")"
|
|
|
|
|
|
. ${LIB_DIR}/lib_color.sh
|
|
|
|
log_test_failed(){
|
|
echo -e "${CLR_RED_R}FAILED:${CLR_RESET} ${*}"
|
|
}
|
|
|
|
log_test_succeded(){
|
|
echo -e "${CLR_GREEN_R}PASSED:${CLR_RESET} ${*}"
|
|
}
|
|
|
|
test_command() {
|
|
|
|
if ! "$@" ; then
|
|
log_test_failed "${*}"
|
|
return 1
|
|
else
|
|
log_test_succeded "${*}"
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
var_has_value() {
|
|
[[ "${!1}" == "${2}" ]]
|
|
}
|
|
|
|
test_value_in_array() {
|
|
local -n array="${1}"
|
|
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
|
|
# we were not given 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
|
|
fi
|
|
|
|
if [[ "${array[${key}]}" == "${value}" ]] ; then
|
|
log_test_succeded "The array '${1}' contains the value '${value}' under the key '${key}'"
|
|
return 0
|
|
else
|
|
log_test_failed "The array '${1}' contains the value '${array[${key}]}' under the key '${key} and not '${value}'"
|
|
return 1
|
|
fi
|
|
}
|