#!/usr/bin/env bash
set -euo pipefail

DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
CHROME="${CHROME:-/chromium/chromium/src/out/asan/chrome}"
PORT="${PORT:-8080}"
PROFILE="$(mktemp -d /tmp/chrome-poc-profile.XXXXXX)"

cd "$DIR"

# Start HTTP server.
python3 server.py "$PORT" >/dev/null 2>server.log &
SRV=$!
trap 'kill $SRV 2>/dev/null || true; rm -rf "$PROFILE"' EXIT
sleep 1

ASAN_OPTIONS="detect_odr_violation=0:symbolize=1" \
timeout --signal=TERM --kill-after=10s 60s \
"$CHROME" \
  --headless=new \
  --no-sandbox \
  --no-first-run --no-default-browser-check \
  --disable-gpu --use-gl=angle --use-angle=swiftshader --enable-unsafe-swiftshader \
  --in-process-gpu \
  --user-data-dir="$PROFILE" \
  --load-extension="$DIR/extension" \
  --enable-logging=stderr --v=0 \
  "http://localhost:$PORT/poc.html" 2>&1 || true
