#!/bin/bash
set +e
if ! [ -f /.dockerenv ]; then
  echo "Running in docker image hamerly/problemtools-icpc..."
  exec sudo docker run --rm -it -v "$PWD":/problems -w /problems hamerly/problemtools-icpc _tools/verifyall "$@"
fi
if ! command -v verifyproblem > /dev/null; then
  echo "verifyproblem command not found!"
  exit 1
fi
h1="=================================================="
res=0
ver_fails=""
for f in */data/generate.sh; do
  d=$(dirname "$f")
  p=$(dirname "$d")
  echo "$h1"
  echo "Problem: $p"
  echo "$h1"
  echo
  _tools/verify "$p"
  ver_status=$?
  if [[ "$ver_status" -ne 0 ]]; then
    ver_fails="$ver_fails$p"$'\n'
  fi
  res=$((res | ver_status))
done
if [[ "$res" -ne 0 ]]; then
  echo "$h1"
  echo "Verification of all problems failed"
  echo "$h1"
  echo
  echo "Failed problems:"
  echo "$ver_fails"
fi
exit $res
