#!/bin/bash
# Run the patched Chrome against the POC page on the Graphite/Dawn backend.
set -x

CHROMIUM_SRC=${CHROMIUM_SRC:-/chromium/chromium/src}
OUT=${OUT:-$CHROMIUM_SRC/out/asan}
PORT=${PORT:-18337}

cd "$(dirname "$0")"
python3 server.py "$PORT" &
SRV=$!
trap 'kill $SRV 2>/dev/null' EXIT
sleep 1

rm -rf /tmp/chrome-poc-profile

ASAN_OPTIONS="handle_segv=1:symbolize=1:detect_odr_violation=0:detect_leaks=0" \
ASAN_SYMBOLIZER_PATH="$CHROMIUM_SRC/third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer" \
timeout 180 "$OUT/chrome" \
  --no-sandbox --no-first-run --no-default-browser-check \
  --user-data-dir=/tmp/chrome-poc-profile \
  --enable-skia-graphite \
  --skia-graphite-dawn-backend=swiftshader \
  --use-gl=angle --use-angle=swiftshader \
  --enable-logging=stderr --v=0 \
  --disable-hang-monitor \
  "http://127.0.0.1:$PORT/poc.html" 2>&1
