refactor: consolidate list_url_all() and list_check_all() into test_all()

This commit is contained in:
Martin Wimpress 2024-04-28 23:05:56 +01:00 committed by Martin Wimpress
parent 26806f9604
commit 6aab4a86c2
1 changed files with 19 additions and 50 deletions

View File

@ -421,7 +421,7 @@ function show_url_result() {
echo -e "${OS} ${URL}"
}
function list_url_all() {
function test_all() {
OS="${1}"
os_supported
@ -437,56 +437,22 @@ function list_url_all() {
for EDITION in $(editions_"${OS}"); do
validate_release releases_"${OS}"
URL=$(get_"${OS}" | cut_1 | head -1)
if [ "${OPERATION}" == "show" ]; then
show_url_result "${OS}" "${RELEASE}" "${EDITION}" "${URL}"
elif [ "${OPERATION}" == "test" ]; then
CHECK=$(web_check "${URL}" && echo 'PASS' || echo 'FAIL')
show_test_result "${CHECK}" "${OS}" "${RELEASE}" "${EDITION}" "${URL}"
fi
done
elif [[ "${OS}" == "windows"* ]]; then
"languages_${OS}"
for LANG in "${LANGS[@]}"; do
validate_release releases_"${OS}"
if [ "${OPERATION}" == "show" ]; then
show_url_result "${OS}" "${RELEASE}" "${LANG}" "SKIP"
done
elif [[ "${OS}" == "macos" ]]; then
validate_release releases_macos
(get_macos)
elif [ "${OS}" == "ubuntu-server" ]; then
validate_release releases_ubuntu-server
(get_ubuntu-server)
elif [[ "${OS}" == *ubuntu* ]]; then
validate_release releases_ubuntu
(get_ubuntu)
else
validate_release releases_"${OS}"
URL=$(get_"${OS}" | cut_1 | head -1)
show_url_result "${OS}" "${RELEASE}" "${EDITION}" "${URL}"
fi
done
}
function list_check_all() {
OS="${1}"
os_supported
local CHECK=""
local FUNC="${OS}"
if [[ "${OS}" == *ubuntu* && "${OS}" != "ubuntu-server" ]]; then
FUNC="ubuntu"
fi
local URL=""
for RELEASE in $("releases_${FUNC}" | sed -Ee 's/eol-\S+//g' ); do # hide eol releases
if [[ $(type -t "editions_${OS}") == function ]]; then
for EDITION in $(editions_"${OS}"); do
validate_release releases_"${OS}"
URL=$(get_"${OS}" | cut_1 | head -1)
CHECK=$(web_check "${URL}" && echo 'PASS' || echo 'FAIL')
show_test_result "${CHECK}" "${OS}" "${RELEASE}" "${EDITION}" "${URL}"
done
else
if [[ "${OS}" == "windows"* ]]; then
"languages_${OS}"
for LANG in "${LANGS[@]}"; do
validate_release releases_"${OS}"
elif [ "${OPERATION}" == "test" ]; then
show_test_result SKIP "${OS}" "${RELEASE}" "${LANG}" "${URL}"
fi
done
elif [[ "${OS}" == "macos" ]]; then
validate_release releases_macos
@ -500,6 +466,9 @@ function list_check_all() {
else
validate_release releases_"${OS}"
URL=$(get_"${OS}" | cut_1 | head -1)
if [ "${OPERATION}" == "show" ]; then
show_url_result "${OS}" "${RELEASE}" "${EDITION}" "${URL}"
elif [ "${OPERATION}" == "test" ]; then
CHECK=$(web_check "${URL}" && echo 'PASS' || echo 'FAIL')
show_test_result "${CHECK}" "${OS}" "${RELEASE}" "${EDITION}" "${URL}"
fi
@ -3451,10 +3420,10 @@ case "${1}" in
# if no OS is specified, list all URLs for all supported OSes
if [ -z "${1}" ]; then
for OS in $(os_support); do
(list_url_all "${OS}")
(test_all "${OS}")
done
else
list_url_all "${1}"
test_all "${1}"
fi
exit 0
;;
@ -3468,10 +3437,10 @@ case "${1}" in
# if no OS is specified, check all URLs for all supported OSes
if [ -z "${1}" ]; then
for OS in $(os_support); do
(list_check_all "${OS}")
(test_all "${OS}")
done
else
list_check_all "${1}"
test_all "${1}"
fi
exit 0
;;