bgen/test/update_goldens.sh

35 lines
1.1 KiB
Bash
Raw Normal View History

2026-04-16 21:04:50 -04:00
#!/usr/bin/env bash
# Regenerate test/goldens.txt from current binary output. Run only after
# intentional changes to generation logic.
set -eu
cd "$(dirname "$0")/.."
BIN=./bin/genesis
OUT=test/goldens.txt
if [[ ! -x "$BIN" ]]; then
echo "error: $BIN not built. Run 'make' first." >&2
exit 2
fi
# Pairs of seed:depth. Mix shallow (water) and deep (lava/chasm/brimstone) to
# cover the full liquid range.
PAIRS=(
"1:1" "2:1" "42:1" "77:1" "1234:1" "2026:1" "9999:1"
"123456:1" "31337:1" "7:1" "100:1" "500:1"
"2026:10" "2026:15" "2026:20" "2026:25"
"1234:18" "9999:22"
)
{
echo "# seed_depth|map_sha256|summary_line"
echo "# Generated $(date -u +%Y-%m-%dT%H:%M:%SZ)"
for pair in "${PAIRS[@]}"; do
seed="${pair%:*}"
depth="${pair#*:}"
hash=$("$BIN" --seed "$seed" --depth "$depth" 2>/dev/null | sha256sum | awk '{print $1}')
summary=$("$BIN" --seed "$seed" --depth "$depth" --quiet 2>&1 >/dev/null)
printf '%s:%s|%s|%s\n' "$seed" "$depth" "$hash" "$summary"
done
} > "$OUT"
echo "wrote $OUT ($(wc -l < "$OUT") lines)"