From 09ae1082076e53ef586d2184d2666146b51536c2 Mon Sep 17 00:00:00 2001 From: milner Date: Thu, 12 Jul 2018 16:43:00 +0000 Subject: [PATCH] Check diagnostics for recursive and simultaneous bindings --- test_errors.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 test_errors.sh diff --git a/test_errors.sh b/test_errors.sh new file mode 100644 index 0000000..be4691e --- /dev/null +++ b/test_errors.sh @@ -0,0 +1,17 @@ +#!/bin/sh +set -eu +test_dir=$(mktemp -d) +trap 'rm -rf "$test_dir"' EXIT HUP INT TERM +for source in \ + 'let _ = let%continue rec x = f in x' \ + 'let _ = let%continue x = f and y = g in x' \ + 'let _ = [%continue 42]' +do + printf '%s\n' "$source" > "$test_dir/invalid.ml" + if "${OCAMLC:-ocamlc}" -ppx ./continuum_ppx -c "$test_dir/invalid.ml" 2> "$test_dir/error"; then + echo "Unexpected success: $source" >&2 + exit 1 + fi + grep -q 'continuum_ppx: expected' "$test_dir/error" +done +echo 'continuum_ppx: invalid syntax checks passed'