From 5c00b8cd03cbfc516cce92229f3f4974d7549c24 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Fri, 16 Oct 2026 20:53:52 +0800 Subject: test(compiler): cover fixed CIE behavior and runtime boundaries Record independently traced outputs with pending human review. Keep standard syntax and naming conflicts as real failures. Co-Authored-By: Claude Fable 5.1 --- tests/i/enum-range/case.json | 1 + tests/i/enum-range/expected.txt | 3 +++ tests/i/enum-range/notes.md | 5 +++++ tests/i/enum-range/program.cps | 9 +++++++++ 4 files changed, 18 insertions(+) create mode 100644 tests/i/enum-range/case.json create mode 100644 tests/i/enum-range/expected.txt create mode 100644 tests/i/enum-range/notes.md create mode 100644 tests/i/enum-range/program.cps (limited to 'tests/i/enum-range') diff --git a/tests/i/enum-range/case.json b/tests/i/enum-range/case.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/tests/i/enum-range/case.json @@ -0,0 +1 @@ +{} diff --git a/tests/i/enum-range/expected.txt b/tests/i/enum-range/expected.txt new file mode 100644 index 0000000..f91d556 --- /dev/null +++ b/tests/i/enum-range/expected.txt @@ -0,0 +1,3 @@ +[Fatal] line 5: Value out of range for enum Season +enum caught +TRUE diff --git a/tests/i/enum-range/notes.md b/tests/i/enum-range/notes.md new file mode 100644 index 0000000..e689441 --- /dev/null +++ b/tests/i/enum-range/notes.md @@ -0,0 +1,5 @@ +# enum-range + +Human review: pending. Expected output was independently traced by AI, not captured from cpsc. + +Basis and trace: Project enum range and exception contract. Incrementing the last ordinal fails before assignment, leaving S=Summer. diff --git a/tests/i/enum-range/program.cps b/tests/i/enum-range/program.cps new file mode 100644 index 0000000..7c6d1ef --- /dev/null +++ b/tests/i/enum-range/program.cps @@ -0,0 +1,9 @@ +TYPE Season = (Spring, Summer) +DECLARE S : Season +S <- Summer +TRY + S <- S + 1 +CATCH + OUTPUT "enum caught" +ENDTRY +OUTPUT S = Summer -- cgit v1.3.1-4-g156e