File: non-marshalable-state.sh

package info (click to toggle)
coq 9.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 35,968 kB
  • sloc: ml: 239,908; sh: 4,355; python: 2,985; ansic: 2,644; makefile: 874; lisp: 171; javascript: 63; xml: 24; sed: 2
file content (30 lines) | stat: -rwxr-xr-x 709 bytes parent folder | download
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
#!/usr/bin/bash

set -ex

export COQBIN=$BIN
export PATH=$COQBIN:$PATH

cd misc/non-marshalable-state/

if which cygpath >/dev/null 2>&1; then OCAMLFINDSEP=\;; else OCAMLFINDSEP=:; fi

rocq makefile -f _CoqProject -o Makefile

make clean

make src/evil_plugin.cmxs
make src/good_plugin.cmxs

if rocq c -async-proofs on  -I src -Q theories Marshal theories/evil.v 2> log1 1>&2; then
  >&2 echo "evil.v should have failed with async proofs on"
  exit 1
fi
if ! grep -q 'Marshalling error' log1; then
  >&2 echo "Missing expected error message in evil.v output"
  exit 1
fi

rocq c -async-proofs off -I src -Q theories Marshal theories/evil.v

rocq c -async-proofs on  -I src -Q theories Marshal theories/good.v