#!/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