diff --git a/scripts/orchestra_e2e_healthcheck.sh b/scripts/orchestra_e2e_healthcheck.sh index aaf3a9c..7d47789 100755 --- a/scripts/orchestra_e2e_healthcheck.sh +++ b/scripts/orchestra_e2e_healthcheck.sh @@ -16,13 +16,16 @@ emit() { main() { local quiet= local json= + local summary= + local -a results=() for arg in "$@"; do if [ "$arg" = --help ]; then - emit text 'Usage: %s [--quiet]\n\n' "${0##*/}" + emit text 'Usage: %s [--quiet] [--json] [--summary] [--list-checks]\n\n' "${0##*/}" emit text 'Healthcheck script for Orchestra E2E tests.\n' emit text 'Exits 0 with a success message if all checks pass.\n' emit text ' --quiet Suppress the success message; still exits 0.\n' emit text ' --list-checks Print the name of each check; exits 0.\n' + emit text ' --summary Print one line per check before the success message.\n' emit text 'Version: %s\n' "$VERSION" exit 0 elif [ "$arg" = --list-checks ]; then @@ -34,9 +37,13 @@ main() { quiet=1 elif [ "$arg" = --json ]; then json=1 + elif [ "$arg" = --summary ]; then + summary=1 fi done + results+=("healthcheck ok") + local format=text [ -n "$quiet" ] && format=none [ -n "$json" ] && format=json @@ -46,6 +53,12 @@ main() { exit 0 fi + if [ -n "$summary" ]; then + for r in "${results[@]}"; do + emit "$format" '%s: %s\n' "${r%% *}" "${r#* }" + done + fi + emit "$format" '%s\n' "$SUCCESS_MESSAGE" exit 0 } diff --git a/scripts/test_healthcheck.sh b/scripts/test_healthcheck.sh index 3c29475..423ff1e 100755 --- a/scripts/test_healthcheck.sh +++ b/scripts/test_healthcheck.sh @@ -3,7 +3,7 @@ HC="$(dirname "$0")/orchestra_e2e_healthcheck.sh" OK='OK - all healthchecks passed' -USAGE="$(printf 'Usage: orchestra_e2e_healthcheck.sh [--quiet]\n\nHealthcheck script for Orchestra E2E tests.\nExits 0 with a success message if all checks pass.\n --quiet Suppress the success message; still exits 0.\n --list-checks Print the name of each check; exits 0.\nVersion: 1.0.0')" +USAGE="$(printf 'Usage: orchestra_e2e_healthcheck.sh [--quiet] [--json] [--summary] [--list-checks]\n\nHealthcheck script for Orchestra E2E tests.\nExits 0 with a success message if all checks pass.\n --quiet Suppress the success message; still exits 0.\n --list-checks Print the name of each check; exits 0.\n --summary Print one line per check before the success message.\nVersion: 1.0.0')" fails=0 check() { # check