From f1f01c0622a9045e26335f5715a42342d0191dcd Mon Sep 17 00:00:00 2001 From: _ov4 Date: Fri, 16 Oct 2026 20:53:57 +0800 Subject: test(diagnostics): require accurate causes and source lines Check native and IR rejection without creating or replacing output files. Keep nine missing-location failures visible rather than accepting them. Co-Authored-By: Claude Fable 5.1 --- tests/iii/missing-parenthesis/case.json | 8 ++++++++ tests/iii/missing-parenthesis/notes.md | 5 +++++ tests/iii/missing-parenthesis/program.cps | 2 ++ 3 files changed, 15 insertions(+) create mode 100644 tests/iii/missing-parenthesis/case.json create mode 100644 tests/iii/missing-parenthesis/notes.md create mode 100644 tests/iii/missing-parenthesis/program.cps (limited to 'tests/iii/missing-parenthesis') diff --git a/tests/iii/missing-parenthesis/case.json b/tests/iii/missing-parenthesis/case.json new file mode 100644 index 0000000..3ccd080 --- /dev/null +++ b/tests/iii/missing-parenthesis/case.json @@ -0,0 +1,8 @@ +{ + "errors": [ + { + "reason": "expected\\ '\\)'", + "line": 3 + } + ] +} diff --git a/tests/iii/missing-parenthesis/notes.md b/tests/iii/missing-parenthesis/notes.md new file mode 100644 index 0000000..21265cc --- /dev/null +++ b/tests/iii/missing-parenthesis/notes.md @@ -0,0 +1,5 @@ +# missing-parenthesis + +Unbalanced expression, expected closing delimiter at EOF. + +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/missing-parenthesis/program.cps b/tests/iii/missing-parenthesis/program.cps new file mode 100644 index 0000000..0cbe2c2 --- /dev/null +++ b/tests/iii/missing-parenthesis/program.cps @@ -0,0 +1,2 @@ +// The closing parenthesis is missing. +OUTPUT (1 + 2 -- cgit v1.3.1-4-g156e