aboutsummaryrefslogtreecommitdiff
path: root/tests/iii/multiple-errors
diff options
context:
space:
mode:
Diffstat (limited to 'tests/iii/multiple-errors')
-rw-r--r--tests/iii/multiple-errors/case.json12
-rw-r--r--tests/iii/multiple-errors/notes.md5
-rw-r--r--tests/iii/multiple-errors/program.cps3
3 files changed, 20 insertions, 0 deletions
diff --git a/tests/iii/multiple-errors/case.json b/tests/iii/multiple-errors/case.json
new file mode 100644
index 0000000..32ec325
--- /dev/null
+++ b/tests/iii/multiple-errors/case.json
@@ -0,0 +1,12 @@
+{
+ "errors": [
+ {
+ "reason": "Unterminated\\ string\\ literal",
+ "line": 1
+ },
+ {
+ "reason": "Expected\\ ':'\\ after\\ variable\\ name",
+ "line": 2
+ }
+ ]
+}
diff --git a/tests/iii/multiple-errors/notes.md b/tests/iii/multiple-errors/notes.md
new file mode 100644
index 0000000..257f882
--- /dev/null
+++ b/tests/iii/multiple-errors/notes.md
@@ -0,0 +1,5 @@
+# multiple-errors
+
+Lexer and parser must both diagnose independent errors and recover to subsequent statements without hanging or producing output.
+
+Require exit 1, the stated cause and source line on the same diagnostic, exactly one compilation termination line, and preservation of absent/existing outputs for both native and IR requests. Missing block delimiters are located at EOF (the line after the final newline).
diff --git a/tests/iii/multiple-errors/program.cps b/tests/iii/multiple-errors/program.cps
new file mode 100644
index 0000000..ed85208
--- /dev/null
+++ b/tests/iii/multiple-errors/program.cps
@@ -0,0 +1,3 @@
+OUTPUT "unterminated
+DECLARE Number INTEGER
+OUTPUT "after errors"