#!/usr/bin/env bash
# Script for testing if Lean can parse the output produced by its
# pretty printer
if [ $# -ne 2 ]; then
    echo "Usage: test_single_pp.sh [lean-executable-path] [file]"
    exit 1
fi
ulimit -s 8192
LEAN=$1
f=$2
echo "-- testing $f"
$LEAN $f showenv.l &> $f.pp.out
if grep "===BEGIN ENVIRONMENT===" $f.pp.out; then
   awk 'BEGIN { SHOW = 0 } { if (SHOW == 1) print $0 } /===BEGIN ENVIRONMENT===/ { SHOW = 1 }' $f.pp.out > $f.pp
   rm -f $f.pp.out
   if $LEAN $f.pp; then
      rm -f $f.pp
      echo "-- checked"
   else
      echo "-- failed to parse output produced by Lean"
      exit 1
   fi
else
   echo "-- unexpected output produced by Lean"
   exit 1
fi
