#!/usr/bin/env bash
set -u
cd "$(dirname "$0")" || exit 3
O=.spt-gate-r2l4
[ -f "$O/build.exit" ] && [ "$(cat "$O/build.exit")" = "0" ] || { echo "REFUSE: phase A build not green"; exit 4; }
for l in cells relay; do echo 'VOID:unfinished' > "$O/$l.exit"; done
unset OWL_SESSION_ID SPT_AGENT_ID SPT_ENDPOINT_ID SPT_HOME
echo "phaseB_start=$(date -u +%H:%M:%SZ) builders_box_wide=$(powershell -NoProfile -Command "(Get-CimInstance Win32_Process | ? { \$_.Name -match '^(cargo|rustc|clippy-driver|cargo-nextest)\.exe$' } | % ProcessId) -join ','")" >> "$O/census.txt"
cargo nextest run -p spt --no-fail-fast --test-threads=1 -E 'binary(io_events_undriven_kinds_e2e)' > "$O/cells.raw" 2>&1
echo $? > "$O/cells.exit"
FAILS=0; for i in 1 2 3; do echo "=== RUN $i ===" >> "$O/relay.raw"; cargo nextest run -p spt --no-fail-fast --test-threads=1 -E 'test(relay_backlog_and_live_deliveries_stamp_once_even_after_hook_poll)' >> "$O/relay.raw" 2>&1 || FAILS=$((FAILS+1)); done
echo $FAILS > "$O/relay.exit"
{ echo "phaseB_end=$(date -u +%H:%M:%SZ)"; echo "cells: $(grep -oE 'Summary \[.*' "$O/cells.raw" | head -1)"; echo "relay summaries: $(grep -c 'Summary \[' "$O/relay.raw") fails=$FAILS"; echo "fixture_gap_hits=$(grep -c 'required test fixture' "$O/cells.raw" "$O/relay.raw" | tr '
' ' ')"; } >> "$O/census.txt"
echo phaseB done
