#!/usr/bin/env bash
# Runner regression suite: jalankan tiap file uji berurutan, gagal bila
# ada teks GAGAL di hasil asersi atau error SQL yang menghentikan file.
set -u
cd "$(dirname "$0")"

berkas_uji=(assert-lib.sql 001-uji-stok.sql)
ada_gagal=0

for f in "${berkas_uji[@]}"; do
    echo "==> menjalankan $f"
    keluaran=$(psql -X -q -v ON_ERROR_STOP=1 -f "$f" 2>&1)
    if [ $? -ne 0 ]; then
        echo "$keluaran"
        echo "GAGAL: $f berhenti karena error SQL"
        exit 1
    fi
    if [ -n "$keluaran" ]; then
        echo "$keluaran"
    fi
    if printf '%s' "$keluaran" | grep -q 'GAGAL'; then
        ada_gagal=1
    fi
done

if [ "$ada_gagal" -eq 1 ]; then
    echo "SUIT REGRESI: GAGAL"
    exit 1
fi
echo "SUIT REGRESI: LULUS"
