1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#!/bin/bash
set -e
export COQBIN=$BIN
export PATH=$COQBIN:$PATH
cd misc/non-marshalable-state/
if which cygpath >/dev/null 2>&1; then OCAMLFINDSEP=\;; else OCAMLFINDSEP=:; fi
export OCAMLPATH=$PWD$OCAMLFINDSEP$OCAMLPATH
coq_makefile -f _CoqProject -o Makefile
make clean
make src/evil_plugin.cmxs
make src/good_plugin.cmxs
RC=1
# must fail
coqc -async-proofs on -I src -Q theories Marshal theories/evil.v 2> log1 1>&2 || RC=0
# for this reason
grep -q 'Marshalling error' log1 || RC=1
# must work
coqc -async-proofs off -I src -Q theories Marshal theories/evil.v
# must work
coqc -async-proofs on -I src -Q theories Marshal theories/good.v
exit $RC
|