#!/bin/sh
set -eu
A107_ROOT=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
A107_CLI=${KICAD_CLI:-/Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli}
A107_OUT=$(mktemp -d /tmp/a107-checks.XXXXXX)
trap 'rm -rf "$A107_OUT"' EXIT
python3 "$A107_ROOT/check_panel_network.py"
"$A107_CLI" sch erc --severity-all --format json --output "$A107_OUT/erc.json" "$A107_ROOT/cad/vacuum_panel_a107.kicad_sch"
"$A107_CLI" pcb drc --severity-all --all-track-errors --schematic-parity --format json --output "$A107_OUT/drc.json" "$A107_ROOT/cad/vacuum_panel_a107.kicad_pcb"
python3 - "$A107_OUT" <<'PY'
from pathlib import Path
import json,sys
p=Path(sys.argv[1]);e=json.loads((p/'erc.json').read_text());d=json.loads((p/'drc.json').read_text())
assert not [v for s in e['sheets'] for v in s['violations']]
assert not d['violations'] and not d['unconnected_items'] and not d['schematic_parity']
print('PASS: panel ERC/DRC/unconnected/parity all zero')
PY
