← back to Claude Auto Resume
test/e2e.sh
22 lines
#!/bin/bash
set -euo pipefail
project_dir="$(cd "$(dirname "$0")/.." && pwd)"
test_root="$(mktemp -d /tmp/claude-resume-e2e.XXXXXX)"
fake_bin="$test_root/bin"
mkdir -p "$fake_bin" "$project_dir/verification"
cp "$project_dir/test/fake-tmux.sh" "$fake_bin/tmux"
chmod +x "$fake_bin/tmux"
export FAKE_TMUX_LOG="$test_root/send-keys.log"
HOME="$test_root/home" PATH="$fake_bin:/usr/bin:/bin" RESUME_DELAY=1 RESUME_POLL=1 RESUME_COOLDOWN=30 \
"$project_dir/claude-resume-daemon.sh" >"$test_root/daemon.log" 2>&1 &
daemon_pid=$!
for _ in $(seq 1 10); do
[ -s "$FAKE_TMUX_LOG" ] && break
sleep 1
done
kill -TERM "$daemon_pid" 2>/dev/null || true
wait "$daemon_pid" 2>/dev/null || true
grep -q 'send-keys -t %fixture RESUME Enter' "$FAKE_TMUX_LOG"
grep -q "stuck-confirmed — sent 'RESUME'" "$test_root/daemon.log"
printf '{"ticket":"TK-11013","riskTier":"R2","verdict":"PASS","rateLimitDetected":true,"stuckPaneConfirmed":true,"resumeSent":true,"productionDelaySeconds":20,"artifact":"%s"}\n' "$test_root" | tee "$project_dir/verification/e2e-proof.json"