Add explanatory comments to all test scripts

This commit is contained in:
2026-06-02 23:36:18 +01:00
parent fe8744e20e
commit 34b2515fca
5 changed files with 61 additions and 13 deletions
+7
View File
@@ -5,6 +5,7 @@ ROOT="$(dirname "$(realpath "$0")")/.."
pass=0
fail=0
# Detect available Docker Compose command
compose_cmd=""
if command -v docker &>/dev/null && docker compose version &>/dev/null 2>&1; then
compose_cmd="docker compose"
@@ -12,14 +13,17 @@ elif command -v docker-compose &>/dev/null; then
compose_cmd="docker-compose"
fi
# Validate a compose file against the Docker Compose specification
test_compose_config() {
local file=$1
# Skip if Docker Compose is not available on this system
if [ -z "$compose_cmd" ]; then
echo " SKIP $file (no docker compose available)"
return
fi
# config -q exits with non-zero if the compose file is invalid
if $compose_cmd -f "$file" config -q 2>/dev/null; then
echo " PASS $file"
pass=$((pass + 1))
@@ -31,13 +35,16 @@ test_compose_config() {
echo "=== Docker Compose Config Validation ==="
# Validate main compose file first, then all override files
test_compose_config "$ROOT/compose.yml"
while IFS= read -r f; do
# Skip the main compose file (already tested above)
[ "$f" = "$ROOT/compose.yml" ] && continue
[ -f "$f" ] && test_compose_config "$f"
done < <(find "$ROOT" -maxdepth 1 -name 'compose*.yml' | sort)
echo "---"
echo "Passed: $pass Failed: $fail"
# Exit with failure if any compose file failed validation
[ "$fail" -eq 0 ]