40 lines
1.1 KiB
Bash
40 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SUITE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
REPO_ROOT="$(cd "$SUITE_DIR/.." && pwd)"
|
|
|
|
PYTHON_BIN="${PYTHON_BIN:-python3}"
|
|
|
|
if [[ ! -f "$REPO_ROOT/tools/vm_verify_sentinel_bundle.py" ]]; then
|
|
echo "[FAIL] Sentinel verifier not found: $REPO_ROOT/tools/vm_verify_sentinel_bundle.py" >&2
|
|
exit 2
|
|
fi
|
|
|
|
if [[ ! -f "$REPO_ROOT/tools/check_sentinel_contract_parity.py" ]]; then
|
|
echo "[FAIL] Parity gate not found: $REPO_ROOT/tools/check_sentinel_contract_parity.py" >&2
|
|
exit 2
|
|
fi
|
|
|
|
echo "[RUN] Sentinel contract parity gate"
|
|
"$PYTHON_BIN" "$REPO_ROOT/tools/check_sentinel_contract_parity.py"
|
|
|
|
echo "[RUN] MERIDIAN v1 conformance suite"
|
|
set +e
|
|
"$PYTHON_BIN" "$SUITE_DIR/run.py" --manifest "$SUITE_DIR/manifest.yaml"
|
|
status=$?
|
|
set -e
|
|
|
|
report_txt="$SUITE_DIR/out/report.txt"
|
|
fallback_txt="$SUITE_DIR/out/meridian_v1_conformance_report.txt"
|
|
|
|
if [[ -f "$report_txt" ]]; then
|
|
cat "$report_txt"
|
|
elif [[ -f "$fallback_txt" ]]; then
|
|
cat "$fallback_txt"
|
|
else
|
|
echo "[WARN] suite did not produce report.txt under $SUITE_DIR/out/" >&2
|
|
fi
|
|
|
|
exit "$status"
|