#!/usr/bin/env bash # K-114: Jedes ct/*.sh MUSS lib/build.func sourcen — der Bug "Helfer nicht # gesourct, Skript stirbt erst mitten im Lauf" ist zweimal real passiert # (nexus-db: im Review gefangen; authentik: erst in Produktion). # Aufruf: tests/check_ct_source.sh [verzeichnis] (Default: ct/) # # Bewusst eng: akzeptiert wird NUR die curl-Prozesssubstitutions-Form # `source <(curl ... build.func)` — das ist der Repo-Vertrag für ct/-Scripts # (Review-Triage K-114). Lokales Sourcen gehört nicht in ct/*.sh. set -euo pipefail DIR="${1:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/ct}" status=0 shopt -s nullglob scripts=("$DIR"/*.sh) if [[ ${#scripts[@]} -eq 0 ]]; then echo "no scripts found in $DIR" >&2 exit 1 fi for script in "${scripts[@]}"; do if grep -Eq 'source[[:space:]]+<\(curl[^)]*build\.func' "$script"; then echo "ok $script" else echo "FEHLT $script — sourct lib/build.func nicht" >&2 status=1 fi done exit "$status"