Tests: remove redundant part in filenames

This commit is contained in:
Louis Gesbert 2024-02-12 18:03:16 +01:00
parent 9c84457c36
commit 36866a919b
226 changed files with 297 additions and 297 deletions

View File

@ -37,7 +37,7 @@ $ catala Interpret -s Dec
division by zero at runtime division by zero at runtime
The division operator: The division operator:
┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:20.23-20.30: ┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:20.23-20.30:
└──┐ └──┐
20 │ definition i equals 1. / 0. 20 │ definition i equals 1. / 0.
│ ‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾
@ -45,7 +45,7 @@ The division operator:
└─ with decimals └─ with decimals
The null denominator: The null denominator:
┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:20.28-20.30: ┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:20.28-20.30:
└──┐ └──┐
20 │ definition i equals 1. / 0. 20 │ definition i equals 1. / 0.
│ ‾‾ │ ‾‾
@ -60,7 +60,7 @@ $ catala Interpret -s Int
division by zero at runtime division by zero at runtime
The division operator: The division operator:
┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:10.23-10.28: ┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:10.23-10.28:
└──┐ └──┐
10 │ definition i equals 1 / 0 10 │ definition i equals 1 / 0
│ ‾‾‾‾‾ │ ‾‾‾‾‾
@ -68,7 +68,7 @@ The division operator:
└─ with integers └─ with integers
The null denominator: The null denominator:
┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:10.27-10.28: ┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:10.27-10.28:
└──┐ └──┐
10 │ definition i equals 1 / 0 10 │ definition i equals 1 / 0
│ ‾ │ ‾
@ -83,7 +83,7 @@ $ catala Interpret -s Money
division by zero at runtime division by zero at runtime
The division operator: The division operator:
┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:30.23-30.35: ┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:30.23-30.35:
└──┐ └──┐
30 │ definition i equals $10.0 / $0.0 30 │ definition i equals $10.0 / $0.0
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
@ -91,7 +91,7 @@ The division operator:
└─ with money └─ with money
The null denominator: The null denominator:
┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:30.31-30.35: ┌─⯈ tests/arithmetic/bad/division_by_zero.catala_en:30.31-30.35:
└──┐ └──┐
30 │ definition i equals $10.0 / $0.0 30 │ definition i equals $10.0 / $0.0
│ ‾‾‾‾ │ ‾‾‾‾

View File

@ -11,12 +11,12 @@ $ catala typecheck
[ERROR] [ERROR]
Please add parentheses to explicit which of these operators should be applied first Please add parentheses to explicit which of these operators should be applied first
┌─⯈ tests/test_arithmetic/bad/logical_prio.catala_en:6.28-6.31: ┌─⯈ tests/arithmetic/bad/logical_prio.catala_en:6.28-6.31:
└─┐ └─┐
6 │ definition o equals true and (false and true and true) or false 6 │ definition o equals true and (false and true and true) or false
│ ‾‾‾ │ ‾‾‾
┌─⯈ tests/test_arithmetic/bad/logical_prio.catala_en:6.58-6.60: ┌─⯈ tests/arithmetic/bad/logical_prio.catala_en:6.58-6.60:
└─┐ └─┐
6 │ definition o equals true and (false and true and true) or false 6 │ definition o equals true and (false and true and true) or false
│ ‾‾ │ ‾‾

View File

@ -16,21 +16,21 @@ $ catala Interpret -s A
I don't know how to apply operator >= on types integer and I don't know how to apply operator >= on types integer and
money money
┌─⯈ tests/test_array/bad/fold_error.catala_en:10.48-10.55: ┌─⯈ tests/array/bad/fold_error.catala_en:10.48-10.55:
└──┐ └──┐
10 │ definition list_high_count equals number of (m >= $7) for m among list 10 │ definition list_high_count equals number of (m >= $7) for m among list
│ ‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾
└─ Article └─ Article
Type integer coming from expression: Type integer coming from expression:
┌─⯈ tests/test_array/bad/fold_error.catala_en:5.32-5.39: ┌─⯈ tests/array/bad/fold_error.catala_en:5.32-5.39:
└─┐ └─┐
5 │ context list content list of integer 5 │ context list content list of integer
│ ‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾
└─ Article └─ Article
Type money coming from expression: Type money coming from expression:
┌─⯈ tests/test_array/bad/fold_error.catala_en:10.53-10.55: ┌─⯈ tests/array/bad/fold_error.catala_en:10.53-10.55:
└──┐ └──┐
10 │ definition list_high_count equals number of (m >= $7) for m among list 10 │ definition list_high_count equals number of (m >= $7) for m among list
│ ‾‾ │ ‾‾

View File

@ -121,7 +121,7 @@ baz_struct baz_func(baz_in_struct baz_in) {
} }
if (exception_conflict) { if (exception_conflict) {
catala_fatal_error_raised.code = catala_conflict; catala_fatal_error_raised.code = catala_conflict;
catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en";
catala_fatal_error_raised.position.start_line = 11; catala_fatal_error_raised.position.start_line = 11;
catala_fatal_error_raised.position.start_column = 11; catala_fatal_error_raised.position.start_column = 11;
catala_fatal_error_raised.position.end_line = 11; catala_fatal_error_raised.position.end_line = 11;
@ -158,7 +158,7 @@ baz_struct baz_func(baz_in_struct baz_in) {
} }
if (exception_conflict_1) { if (exception_conflict_1) {
catala_fatal_error_raised.code = catala_conflict; catala_fatal_error_raised.code = catala_conflict;
catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en";
catala_fatal_error_raised.position.start_line = 11; catala_fatal_error_raised.position.start_line = 11;
catala_fatal_error_raised.position.start_column = 11; catala_fatal_error_raised.position.start_column = 11;
catala_fatal_error_raised.position.end_line = 11; catala_fatal_error_raised.position.end_line = 11;
@ -181,7 +181,7 @@ baz_struct baz_func(baz_in_struct baz_in) {
if (match_arg.code == option_1_enum_none_1_cons) { if (match_arg.code == option_1_enum_none_1_cons) {
void* /* unit */ dummy_var = match_arg.payload.none_1_cons; void* /* unit */ dummy_var = match_arg.payload.none_1_cons;
catala_fatal_error_raised.code = catala_no_value_provided; catala_fatal_error_raised.code = catala_no_value_provided;
catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en";
catala_fatal_error_raised.position.start_line = 11; catala_fatal_error_raised.position.start_line = 11;
catala_fatal_error_raised.position.start_column = 11; catala_fatal_error_raised.position.start_column = 11;
catala_fatal_error_raised.position.end_line = 11; catala_fatal_error_raised.position.end_line = 11;
@ -203,7 +203,7 @@ baz_struct baz_func(baz_in_struct baz_in) {
if (match_arg_1.code == option_1_enum_none_1_cons) { if (match_arg_1.code == option_1_enum_none_1_cons) {
void* /* unit */ dummy_var = match_arg_1.payload.none_1_cons; void* /* unit */ dummy_var = match_arg_1.payload.none_1_cons;
catala_fatal_error_raised.code = catala_no_value_provided; catala_fatal_error_raised.code = catala_no_value_provided;
catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en";
catala_fatal_error_raised.position.start_line = 11; catala_fatal_error_raised.position.start_line = 11;
catala_fatal_error_raised.position.start_column = 11; catala_fatal_error_raised.position.start_column = 11;
catala_fatal_error_raised.position.end_line = 11; catala_fatal_error_raised.position.end_line = 11;
@ -249,7 +249,7 @@ baz_struct baz_func(baz_in_struct baz_in) {
} }
if (exception_conflict_2) { if (exception_conflict_2) {
catala_fatal_error_raised.code = catala_conflict; catala_fatal_error_raised.code = catala_conflict;
catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en";
catala_fatal_error_raised.position.start_line = 12; catala_fatal_error_raised.position.start_line = 12;
catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.start_column = 10;
catala_fatal_error_raised.position.end_line = 12; catala_fatal_error_raised.position.end_line = 12;
@ -282,7 +282,7 @@ baz_struct baz_func(baz_in_struct baz_in) {
} }
if (exception_conflict_3) { if (exception_conflict_3) {
catala_fatal_error_raised.code = catala_conflict; catala_fatal_error_raised.code = catala_conflict;
catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en";
catala_fatal_error_raised.position.start_line = 12; catala_fatal_error_raised.position.start_line = 12;
catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.start_column = 10;
catala_fatal_error_raised.position.end_line = 12; catala_fatal_error_raised.position.end_line = 12;
@ -332,7 +332,7 @@ baz_struct baz_func(baz_in_struct baz_in) {
} }
if (exception_conflict_4) { if (exception_conflict_4) {
catala_fatal_error_raised.code = catala_conflict; catala_fatal_error_raised.code = catala_conflict;
catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en";
catala_fatal_error_raised.position.start_line = 12; catala_fatal_error_raised.position.start_line = 12;
catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.start_column = 10;
catala_fatal_error_raised.position.end_line = 12; catala_fatal_error_raised.position.end_line = 12;
@ -361,7 +361,7 @@ baz_struct baz_func(baz_in_struct baz_in) {
if (match_arg_4.code == option_2_enum_none_2_cons) { if (match_arg_4.code == option_2_enum_none_2_cons) {
void* /* unit */ dummy_var = match_arg_4.payload.none_2_cons; void* /* unit */ dummy_var = match_arg_4.payload.none_2_cons;
catala_fatal_error_raised.code = catala_no_value_provided; catala_fatal_error_raised.code = catala_no_value_provided;
catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en";
catala_fatal_error_raised.position.start_line = 12; catala_fatal_error_raised.position.start_line = 12;
catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.start_column = 10;
catala_fatal_error_raised.position.end_line = 12; catala_fatal_error_raised.position.end_line = 12;
@ -402,7 +402,7 @@ baz_struct baz_func(baz_in_struct baz_in) {
} }
if (exception_conflict_5) { if (exception_conflict_5) {
catala_fatal_error_raised.code = catala_conflict; catala_fatal_error_raised.code = catala_conflict;
catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en";
catala_fatal_error_raised.position.start_line = 13; catala_fatal_error_raised.position.start_line = 13;
catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.start_column = 10;
catala_fatal_error_raised.position.end_line = 13; catala_fatal_error_raised.position.end_line = 13;
@ -425,7 +425,7 @@ baz_struct baz_func(baz_in_struct baz_in) {
if (match_arg_5.code == option_3_enum_none_3_cons) { if (match_arg_5.code == option_3_enum_none_3_cons) {
void* /* unit */ dummy_var = match_arg_5.payload.none_3_cons; void* /* unit */ dummy_var = match_arg_5.payload.none_3_cons;
catala_fatal_error_raised.code = catala_no_value_provided; catala_fatal_error_raised.code = catala_no_value_provided;
catala_fatal_error_raised.position.filename = "tests/test_backends/simple.catala_en"; catala_fatal_error_raised.position.filename = "tests/backends/simple.catala_en";
catala_fatal_error_raised.position.start_line = 13; catala_fatal_error_raised.position.start_line = 13;
catala_fatal_error_raised.position.start_column = 10; catala_fatal_error_raised.position.start_column = 10;
catala_fatal_error_raised.position.end_line = 13; catala_fatal_error_raised.position.end_line = 13;

View File

@ -18,21 +18,21 @@ Error during typechecking, incompatible types:
└─⯈ bool └─⯈ bool
While typechecking the following expression: While typechecking the following expression:
┌─⯈ tests/test_bool/bad/bad_assert.catala_en:9.13-9.14: ┌─⯈ tests/bool/bad/bad_assert.catala_en:9.13-9.14:
└─┐ └─┐
9 │ assertion x 9 │ assertion x
│ ‾ │ ‾
└─ Test └─ Test
Type integer is coming from: Type integer is coming from:
┌─⯈ tests/test_bool/bad/bad_assert.catala_en:5.20-5.27: ┌─⯈ tests/bool/bad/bad_assert.catala_en:5.20-5.27:
└─┐ └─┐
5 │ output x content integer 5 │ output x content integer
│ ‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾
└─ Test └─ Test
Type bool is coming from: Type bool is coming from:
┌─⯈ tests/test_bool/bad/bad_assert.catala_en:9.13-9.14: ┌─⯈ tests/bool/bad/bad_assert.catala_en:9.13-9.14:
└─┐ └─┐
9 │ assertion x 9 │ assertion x
│ ‾ │ ‾

View File

@ -16,14 +16,14 @@ Error during typechecking, incompatible types:
└─⯈ bool └─⯈ bool
This expression has type integer: This expression has type integer:
┌─⯈ tests/test_bool/bad/test_xor_with_int.catala_en:8.30-8.32: ┌─⯈ tests/bool/bad/test_xor_with_int.catala_en:8.30-8.32:
└─┐ └─┐
8 │ definition test_var equals 10 xor 20 8 │ definition test_var equals 10 xor 20
│ ‾‾ │ ‾‾
└─ 'xor' should be a boolean operator └─ 'xor' should be a boolean operator
Expected type bool coming from expression: Expected type bool coming from expression:
┌─⯈ tests/test_bool/bad/test_xor_with_int.catala_en:8.33-8.36: ┌─⯈ tests/bool/bad/test_xor_with_int.catala_en:8.33-8.36:
└─┐ └─┐
8 │ definition test_var equals 10 xor 20 8 │ definition test_var equals 10 xor 20
│ ‾‾‾ │ ‾‾‾

View File

@ -28,12 +28,12 @@ $ catala Interpret -s Test
[ERROR] [ERROR]
You cannot set multiple date rounding modes You cannot set multiple date rounding modes
┌─⯈ tests/test_date/bad/rounding_option_conflict.catala_en:10.14-10.24: ┌─⯈ tests/date/bad/rounding_option_conflict.catala_en:10.14-10.24:
└──┐ └──┐
10 │ date round decreasing 10 │ date round decreasing
│ ‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾
┌─⯈ tests/test_date/bad/rounding_option_conflict.catala_en:12.14-12.24: ┌─⯈ tests/date/bad/rounding_option_conflict.catala_en:12.14-12.24:
└──┐ └──┐
12 │ date round increasing 12 │ date round increasing
│ ‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾

View File

@ -12,19 +12,19 @@ $ catala Interpret -s A
I don't know how to apply operator <= on types date and I don't know how to apply operator <= on types date and
duration duration
┌─⯈ tests/test_date/bad/substraction.catala_en:6.23-6.52: ┌─⯈ tests/date/bad/substraction.catala_en:6.23-6.52:
└─┐ └─┐
6 │ definition o equals |2024-01-16| - 0 day <= 0 day 6 │ definition o equals |2024-01-16| - 0 day <= 0 day
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Type date coming from expression: Type date coming from expression:
┌─⯈ tests/test_date/bad/substraction.catala_en:6.23-6.43: ┌─⯈ tests/date/bad/substraction.catala_en:6.23-6.43:
└─┐ └─┐
6 │ definition o equals |2024-01-16| - 0 day <= 0 day 6 │ definition o equals |2024-01-16| - 0 day <= 0 day
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Type duration coming from expression: Type duration coming from expression:
┌─⯈ tests/test_date/bad/substraction.catala_en:6.47-6.52: ┌─⯈ tests/date/bad/substraction.catala_en:6.47-6.52:
└─┐ └─┐
6 │ definition o equals |2024-01-16| - 0 day <= 0 day 6 │ definition o equals |2024-01-16| - 0 day <= 0 day
│ ‾‾‾‾‾ │ ‾‾‾‾‾

View File

@ -45,14 +45,14 @@ $ catala Interpret -s Ge
[ERROR] [ERROR]
Cannot compare together durations that cannot be converted to a precise number of days Cannot compare together durations that cannot be converted to a precise number of days
┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:40.23-40.30: ┌─⯈ tests/date/bad/uncomparable_duration.catala_en:40.23-40.30:
└──┐ └──┐
40 │ definition d equals 1 month >= 2 day 40 │ definition d equals 1 month >= 2 day
│ ‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾
└┬ `UncomparableDurations` exception management └┬ `UncomparableDurations` exception management
└─ `>=` operator └─ `>=` operator
┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:40.34-40.39: ┌─⯈ tests/date/bad/uncomparable_duration.catala_en:40.34-40.39:
└──┐ └──┐
40 │ definition d equals 1 month >= 2 day 40 │ definition d equals 1 month >= 2 day
│ ‾‾‾‾‾ │ ‾‾‾‾‾
@ -66,14 +66,14 @@ $ catala Interpret -s Gt
[ERROR] [ERROR]
Cannot compare together durations that cannot be converted to a precise number of days Cannot compare together durations that cannot be converted to a precise number of days
┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:30.23-30.30: ┌─⯈ tests/date/bad/uncomparable_duration.catala_en:30.23-30.30:
└──┐ └──┐
30 │ definition d equals 1 month > 2 day 30 │ definition d equals 1 month > 2 day
│ ‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾
└┬ `UncomparableDurations` exception management └┬ `UncomparableDurations` exception management
└─ `<=` operator └─ `<=` operator
┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:30.33-30.38: ┌─⯈ tests/date/bad/uncomparable_duration.catala_en:30.33-30.38:
└──┐ └──┐
30 │ definition d equals 1 month > 2 day 30 │ definition d equals 1 month > 2 day
│ ‾‾‾‾‾ │ ‾‾‾‾‾
@ -87,14 +87,14 @@ $ catala Interpret -s Le
[ERROR] [ERROR]
Cannot compare together durations that cannot be converted to a precise number of days Cannot compare together durations that cannot be converted to a precise number of days
┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:20.23-20.30: ┌─⯈ tests/date/bad/uncomparable_duration.catala_en:20.23-20.30:
└──┐ └──┐
20 │ definition d equals 1 month <= 2 day 20 │ definition d equals 1 month <= 2 day
│ ‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾
└┬ `UncomparableDurations` exception management └┬ `UncomparableDurations` exception management
└─ `<=` operator └─ `<=` operator
┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:20.34-20.39: ┌─⯈ tests/date/bad/uncomparable_duration.catala_en:20.34-20.39:
└──┐ └──┐
20 │ definition d equals 1 month <= 2 day 20 │ definition d equals 1 month <= 2 day
│ ‾‾‾‾‾ │ ‾‾‾‾‾
@ -108,14 +108,14 @@ $ catala Interpret -s Lt
[ERROR] [ERROR]
Cannot compare together durations that cannot be converted to a precise number of days Cannot compare together durations that cannot be converted to a precise number of days
┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:10.23-10.30: ┌─⯈ tests/date/bad/uncomparable_duration.catala_en:10.23-10.30:
└──┐ └──┐
10 │ definition d equals 1 month < 2 day 10 │ definition d equals 1 month < 2 day
│ ‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾
└┬ `UncomparableDurations` exception management └┬ `UncomparableDurations` exception management
└─ `<` operator └─ `<` operator
┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:10.33-10.38: ┌─⯈ tests/date/bad/uncomparable_duration.catala_en:10.33-10.38:
└──┐ └──┐
10 │ definition d equals 1 month < 2 day 10 │ definition d equals 1 month < 2 day
│ ‾‾‾‾‾ │ ‾‾‾‾‾

View File

@ -0,0 +1,18 @@
## Article
```catala
declaration scope A:
output x content integer
scope A:
definition x under condition true consequence equals 1
definition x under condition true consequence equals 0
```
```catala-test-inline
$ catala Interpret -s A --message=gnu
tests/default/bad/conflict.catala_en:8.56-8.57: [ERROR] There is a conflict between multiple valid consequences for assigning the same variable.
tests/default/bad/conflict.catala_en:8.56-8.57: [ERROR] This consequence has a valid justification:
tests/default/bad/conflict.catala_en:9.56-9.57: [ERROR] This consequence has a valid justification:
#return code 123#
```

View File

@ -13,7 +13,7 @@ scope A:
$ catala Interpret -s A $ catala Interpret -s A
[WARNING] In scope "A", the variable "y" is declared but never defined; did you forget something? [WARNING] In scope "A", the variable "y" is declared but never defined; did you forget something?
┌─⯈ tests/test_default/bad/empty.catala_en:6.10-6.11: ┌─⯈ tests/default/bad/empty.catala_en:6.10-6.11:
└─┐ └─┐
6 │ output y content boolean 6 │ output y content boolean
│ ‾ │ ‾
@ -22,7 +22,7 @@ $ catala Interpret -s A
This variable evaluated to an empty term (no rule that defined it applied in this situation): This variable evaluated to an empty term (no rule that defined it applied in this situation):
error_empty ⟨false ⊢ ∅⟩ error_empty ⟨false ⊢ ∅⟩
┌─⯈ tests/test_default/bad/empty.catala_en:6.10-6.11: ┌─⯈ tests/default/bad/empty.catala_en:6.10-6.11:
└─┐ └─┐
6 │ output y content boolean 6 │ output y content boolean
│ ‾ │ ‾

View File

@ -19,7 +19,7 @@ This variable evaluated to an empty term (no rule that defined it applied in thi
error_empty error_empty
⟨ ⟨ ⟨ ⟨1 = 4 ⊢ ⟨1⟩⟩ | 1 = 3 ⊢ ⟨1⟩ ⟩ | 1 = 2 ⊢ ⟨1⟩ ⟩ | false ⊢ ∅ ⟩ ⟨ ⟨ ⟨ ⟨1 = 4 ⊢ ⟨1⟩⟩ | 1 = 3 ⊢ ⟨1⟩ ⟩ | 1 = 2 ⊢ ⟨1⟩ ⟩ | false ⊢ ∅ ⟩
┌─⯈ tests/test_default/bad/empty_with_rules.catala_en:5.10-5.11: ┌─⯈ tests/default/bad/empty_with_rules.catala_en:5.10-5.11:
└─┐ └─┐
5 │ output x content integer 5 │ output x content integer
│ ‾ │ ‾

View File

@ -21,13 +21,13 @@ or "under condition",
or "." or "."
Error token: Error token:
┌─⯈ tests/test_default/bad/typing_or_logical_error.catala_en:8.30-8.31: ┌─⯈ tests/default/bad/typing_or_logical_error.catala_en:8.30-8.31:
└─┐ └─┐
8 │ definition wrong_definition = 1 8 │ definition wrong_definition = 1
│ ‾ │ ‾
Last good token: Last good token:
┌─⯈ tests/test_default/bad/typing_or_logical_error.catala_en:8.13-8.29: ┌─⯈ tests/default/bad/typing_or_logical_error.catala_en:8.13-8.29:
└─┐ └─┐
8 │ definition wrong_definition = 1 8 │ definition wrong_definition = 1
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -15,12 +15,12 @@ scope A:
$ catala Typecheck --check-invariants $ catala Typecheck --check-invariants
[WARNING] These definitions have identical justifications and consequences; is it a mistake? [WARNING] These definitions have identical justifications and consequences; is it a mistake?
┌─⯈ tests/test_default/good/mutliple_definitions.catala_en:9.3-9.15: ┌─⯈ tests/default/good/mutliple_definitions.catala_en:9.3-9.15:
└─┐ └─┐
9 │ definition w equals 3 9 │ definition w equals 3
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
┌─⯈ tests/test_default/good/mutliple_definitions.catala_en:6.3-6.15: ┌─⯈ tests/default/good/mutliple_definitions.catala_en:6.3-6.15:
└─┐ └─┐
6 │ definition w equals 3 6 │ definition w equals 3
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
@ -32,12 +32,12 @@ $ catala Typecheck --check-invariants
$ catala Interpret -s A $ catala Interpret -s A
[WARNING] These definitions have identical justifications and consequences; is it a mistake? [WARNING] These definitions have identical justifications and consequences; is it a mistake?
┌─⯈ tests/test_default/good/mutliple_definitions.catala_en:9.3-9.15: ┌─⯈ tests/default/good/mutliple_definitions.catala_en:9.3-9.15:
└─┐ └─┐
9 │ definition w equals 3 9 │ definition w equals 3
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
┌─⯈ tests/test_default/good/mutliple_definitions.catala_en:6.3-6.15: ┌─⯈ tests/default/good/mutliple_definitions.catala_en:6.3-6.15:
└─┐ └─┐
6 │ definition w equals 3 6 │ definition w equals 3
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -19,7 +19,7 @@ $ catala Interpret -s A
[ERROR] [ERROR]
This constructor name is ambiguous, it can belong to E or F. Desambiguate it by prefixing it with the enum name. This constructor name is ambiguous, it can belong to E or F. Desambiguate it by prefixing it with the enum name.
┌─⯈ tests/test_enum/bad/ambiguous_cases.catala_en:14.23-14.28: ┌─⯈ tests/enum/bad/ambiguous_cases.catala_en:14.23-14.28:
└──┐ └──┐
14 │ definition e equals Case1 14 │ definition e equals Case1
│ ‾‾‾‾‾ │ ‾‾‾‾‾

View File

@ -20,7 +20,7 @@ $ catala Interpret -s A
[ERROR] [ERROR]
Couldn't infer the enumeration name from lonely wildcard (wildcard cannot be used as single match case) Couldn't infer the enumeration name from lonely wildcard (wildcard cannot be used as single match case)
┌─⯈ tests/test_enum/bad/ambiguous_wildcard.catala_en:15.5-15.21: ┌─⯈ tests/enum/bad/ambiguous_wildcard.catala_en:15.5-15.21:
└──┐ └──┐
15 │ -- anything : 31 15 │ -- anything : 31
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -23,13 +23,13 @@ $ catala Interpret -s A
[ERROR] [ERROR]
The constructor Case3 has been matched twice: The constructor Case3 has been matched twice:
┌─⯈ tests/test_enum/bad/duplicate_case.catala_en:18.16-18.20: ┌─⯈ tests/enum/bad/duplicate_case.catala_en:18.16-18.20:
└──┐ └──┐
18 │ -- Case3 : true 18 │ -- Case3 : true
│ ‾‾‾‾ │ ‾‾‾‾
└─ Article └─ Article
┌─⯈ tests/test_enum/bad/duplicate_case.catala_en:17.16-17.21: ┌─⯈ tests/enum/bad/duplicate_case.catala_en:17.16-17.21:
└──┐ └──┐
17 │ -- Case3 : false 17 │ -- Case3 : false
│ ‾‾‾‾‾ │ ‾‾‾‾‾

View File

@ -12,7 +12,7 @@ $ catala Typecheck
[ERROR] [ERROR]
The enum Foo does not have any cases; give it some for Catala to be able to accept it. The enum Foo does not have any cases; give it some for Catala to be able to accept it.
┌─⯈ tests/test_enum/bad/empty.catala_en:4.25-4.28: ┌─⯈ tests/enum/bad/empty.catala_en:4.25-4.28:
└─┐ └─┐
4 │ declaration enumeration Foo: 4 │ declaration enumeration Foo:
│ ‾‾‾ │ ‾‾‾

View File

@ -20,7 +20,7 @@ scope A:
$ catala Interpret -s A $ catala Interpret -s A
[WARNING] The constructor "Case3" of enumeration "E" is never used; maybe it's unnecessary? [WARNING] The constructor "Case3" of enumeration "E" is never used; maybe it's unnecessary?
┌─⯈ tests/test_enum/bad/missing_case.catala_en:7.6-7.11: ┌─⯈ tests/enum/bad/missing_case.catala_en:7.6-7.11:
└─┐ └─┐
7 │ -- Case3 7 │ -- Case3
│ ‾‾‾‾‾ │ ‾‾‾‾‾
@ -28,7 +28,7 @@ $ catala Interpret -s A
[ERROR] [ERROR]
The constructor Case3 of enum E is missing from this pattern matching The constructor Case3 of enum E is missing from this pattern matching
┌─⯈ tests/test_enum/bad/missing_case.catala_en:14.25-16.22: ┌─⯈ tests/enum/bad/missing_case.catala_en:14.25-16.22:
└──┐ └──┐
14 │ definition out equals match e with pattern 14 │ definition out equals match e with pattern
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -42,7 +42,7 @@ $ catala Interpret -s First_case
Wildcard must be the last match case Wildcard must be the last match case
Not ending wildcard: Not ending wildcard:
┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:19.5-19.21: ┌─⯈ tests/enum/bad/not_ending_wildcard.catala_en:19.5-19.21:
└──┐ └──┐
19 │ -- anything : 31 19 │ -- anything : 31
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
@ -50,7 +50,7 @@ Not ending wildcard:
└─ Wildcard can't be the first case └─ Wildcard can't be the first case
Next reachable case: Next reachable case:
┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:20.5-20.18: ┌─⯈ tests/enum/bad/not_ending_wildcard.catala_en:20.5-20.18:
└──┐ └──┐
20 │ -- Case2 : 42 20 │ -- Case2 : 42
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾
@ -65,7 +65,7 @@ $ catala Interpret -s Middle_case
Wildcard must be the last match case Wildcard must be the last match case
Not ending wildcard: Not ending wildcard:
┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:19.5-19.21: ┌─⯈ tests/enum/bad/not_ending_wildcard.catala_en:19.5-19.21:
└──┐ └──┐
19 │ -- anything : 31 19 │ -- anything : 31
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
@ -73,7 +73,7 @@ Not ending wildcard:
└─ Wildcard can't be the first case └─ Wildcard can't be the first case
Next reachable case: Next reachable case:
┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:20.5-20.18: ┌─⯈ tests/enum/bad/not_ending_wildcard.catala_en:20.5-20.18:
└──┐ └──┐
20 │ -- Case2 : 42 20 │ -- Case2 : 42
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -36,21 +36,21 @@ Error during typechecking, incompatible types:
└─⯈ F └─⯈ F
While typechecking the following expression: While typechecking the following expression:
┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:28.23-28.24: ┌─⯈ tests/enum/bad/quick_pattern_2.catala_en:28.23-28.24:
└──┐ └──┐
28 │ definition y equals x with pattern Case3 28 │ definition y equals x with pattern Case3
│ ‾ │ ‾
└─ Article └─ Article
Type E is coming from: Type E is coming from:
┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:17.21-17.22: ┌─⯈ tests/enum/bad/quick_pattern_2.catala_en:17.21-17.22:
└──┐ └──┐
17 │ context x content E 17 │ context x content E
│ ‾ │ ‾
└─ Article └─ Article
Type F is coming from: Type F is coming from:
┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:28.23-28.43: ┌─⯈ tests/enum/bad/quick_pattern_2.catala_en:28.23-28.43:
└──┐ └──┐
28 │ definition y equals x with pattern Case3 28 │ definition y equals x with pattern Case3
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -26,21 +26,21 @@ Error during typechecking, incompatible types:
└─⯈ F └─⯈ F
While typechecking the following expression: While typechecking the following expression:
┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:18.21-18.22: ┌─⯈ tests/enum/bad/quick_pattern_3.catala_en:18.21-18.22:
└──┐ └──┐
18 │ definition y equals x with pattern Case3 18 │ definition y equals x with pattern Case3
│ ‾ │ ‾
└─ Article └─ Article
Type E is coming from: Type E is coming from:
┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:13.19-13.20: ┌─⯈ tests/enum/bad/quick_pattern_3.catala_en:13.19-13.20:
└──┐ └──┐
13 │ context x content E 13 │ context x content E
│ ‾ │ ‾
└─ Article └─ Article
Type F is coming from: Type F is coming from:
┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:18.21-18.41: ┌─⯈ tests/enum/bad/quick_pattern_3.catala_en:18.21-18.41:
└──┐ └──┐
18 │ definition y equals x with pattern Case3 18 │ definition y equals x with pattern Case3
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -25,21 +25,21 @@ Error during typechecking, incompatible types:
└─⯈ F └─⯈ F
While typechecking the following expression: While typechecking the following expression:
┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:17.21-17.22: ┌─⯈ tests/enum/bad/quick_pattern_4.catala_en:17.21-17.22:
└──┐ └──┐
17 │ definition y equals x with pattern Case3 17 │ definition y equals x with pattern Case3
│ ‾ │ ‾
└─ Test └─ Test
Type E is coming from: Type E is coming from:
┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:12.19-12.20: ┌─⯈ tests/enum/bad/quick_pattern_4.catala_en:12.19-12.20:
└──┐ └──┐
12 │ context x content E 12 │ context x content E
│ ‾ │ ‾
└─ Test └─ Test
Type F is coming from: Type F is coming from:
┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:17.21-17.41: ┌─⯈ tests/enum/bad/quick_pattern_4.catala_en:17.21-17.41:
└──┐ └──┐
17 │ definition y equals x with pattern Case3 17 │ definition y equals x with pattern Case3
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -22,7 +22,7 @@ The name of this constructor has not been defined before
(it's probably a typographical error). (it's probably a typographical error).
Here is your code : Here is your code :
┌─⯈ tests/test_enum/bad/quick_pattern_fail.catala_en:15.38-15.43: ┌─⯈ tests/enum/bad/quick_pattern_fail.catala_en:15.38-15.43:
└──┐ └──┐
15 │ definition y equals x with pattern Case3 15 │ definition y equals x with pattern Case3
│ ‾‾‾‾‾ │ ‾‾‾‾‾

View File

@ -26,7 +26,7 @@ $ catala Interpret -s A
[ERROR] [ERROR]
This case matches a constructor of enumeration E but previous case were matching constructors of enumeration F This case matches a constructor of enumeration E but previous case were matching constructors of enumeration F
┌─⯈ tests/test_enum/bad/too_many_cases.catala_en:21.8-21.13: ┌─⯈ tests/enum/bad/too_many_cases.catala_en:21.8-21.13:
└──┐ └──┐
21 │ -- Case4 : true 21 │ -- Case4 : true
│ ‾‾‾‾‾ │ ‾‾‾‾‾

View File

@ -21,7 +21,7 @@ scope A:
$ catala Interpret -s A $ catala Interpret -s A
[WARNING] Unreachable match case, all constructors of the enumeration E are already specified [WARNING] Unreachable match case, all constructors of the enumeration E are already specified
┌─⯈ tests/test_enum/bad/useless_wildcard.catala_en:17.5-17.21: ┌─⯈ tests/enum/bad/useless_wildcard.catala_en:17.5-17.21:
└──┐ └──┐
17 │ -- anything : 31 17 │ -- anything : 31
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -18,7 +18,7 @@ The name of this constructor has not been defined before
(it's probably a typographical error). (it's probably a typographical error).
Here is your code : Here is your code :
┌─⯈ tests/test_enum/bad/wrong_cons.catala_en:11.23-11.28: ┌─⯈ tests/enum/bad/wrong_cons.catala_en:11.23-11.28:
└──┐ └──┐
11 │ definition e equals Case2 11 │ definition e equals Case2
│ ‾‾‾‾‾ │ ‾‾‾‾‾

View File

@ -19,7 +19,7 @@ $ catala Interpret -s A
This exception can refer to several definitions. Try using labels to disambiguate This exception can refer to several definitions. Try using labels to disambiguate
Ambiguous exception Ambiguous exception
┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:12.3-13.15: ┌─⯈ tests/exception/bad/ambiguous_unlabeled_exception.catala_en:12.3-13.15:
└──┐ └──┐
12 │ exception 12 │ exception
│ ‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾
@ -28,14 +28,14 @@ Ambiguous exception
└─ Test └─ Test
Candidate definition Candidate definition
┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:10.14-10.15: ┌─⯈ tests/exception/bad/ambiguous_unlabeled_exception.catala_en:10.14-10.15:
└──┐ └──┐
10 │ definition x equals 1 10 │ definition x equals 1
│ ‾ │ ‾
└─ Test └─ Test
Candidate definition Candidate definition
┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:8.14-8.15: ┌─⯈ tests/exception/bad/ambiguous_unlabeled_exception.catala_en:8.14-8.15:
└─┐ └─┐
8 │ definition x equals 0 8 │ definition x equals 0
│ ‾ │ ‾

View File

@ -18,7 +18,7 @@ $ catala Interpret -s A
[ERROR] [ERROR]
Unknown label for the scope variable x: "base_y" Unknown label for the scope variable x: "base_y"
┌─⯈ tests/test_exception/bad/dangling_exception.catala_en:12.13-12.19: ┌─⯈ tests/exception/bad/dangling_exception.catala_en:12.13-12.19:
└──┐ └──┐
12 │ exception base_y 12 │ exception base_y
│ ‾‾‾‾‾‾ │ ‾‾‾‾‾‾

View File

@ -23,7 +23,7 @@ $ catala Interpret -s A
[ERROR] [ERROR]
Exception cycle detected when defining x: each of these 3 exceptions applies over the previous one, and the first applies over the last Exception cycle detected when defining x: each of these 3 exceptions applies over the previous one, and the first applies over the last
┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:8.3-10.15: ┌─⯈ tests/exception/bad/exceptions_cycle.catala_en:8.3-10.15:
└──┐ └──┐
8 │ label base_x 8 │ label base_x
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
@ -32,7 +32,7 @@ Exception cycle detected when defining x: each of these 3 exceptions applies ove
10 │ definition x equals 0 10 │ definition x equals 0
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:12.3-14.15: ┌─⯈ tests/exception/bad/exceptions_cycle.catala_en:12.3-14.15:
└──┐ └──┐
12 │ label exception_x 12 │ label exception_x
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
@ -41,7 +41,7 @@ Exception cycle detected when defining x: each of these 3 exceptions applies ove
14 │ definition x equals 1 14 │ definition x equals 1
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:16.3-18.15: ┌─⯈ tests/exception/bad/exceptions_cycle.catala_en:16.3-18.15:
└──┐ └──┐
16 │ label exception_exception_x 16 │ label exception_exception_x
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -14,7 +14,7 @@ $ catala Interpret -s A
[ERROR] [ERROR]
This exception does not have a corresponding definition This exception does not have a corresponding definition
┌─⯈ tests/test_exception/bad/missing_unlabeled_definition.catala_en:8.3-9.15: ┌─⯈ tests/exception/bad/missing_unlabeled_definition.catala_en:8.3-9.15:
└─┐ └─┐
8 │ exception 8 │ exception
│ ‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾

View File

@ -25,7 +25,7 @@ $ catala Interpret -s A
This exception can refer to several definitions. Try using labels to disambiguate This exception can refer to several definitions. Try using labels to disambiguate
Ambiguous exception Ambiguous exception
┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:18.3-19.15: ┌─⯈ tests/exception/bad/one_ambiguous_exception.catala_en:18.3-19.15:
└──┐ └──┐
18 │ exception 18 │ exception
│ ‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾
@ -34,14 +34,14 @@ Ambiguous exception
└─ Test └─ Test
Candidate definition Candidate definition
┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:16.14-16.15: ┌─⯈ tests/exception/bad/one_ambiguous_exception.catala_en:16.14-16.15:
└──┐ └──┐
16 │ definition y equals 4 16 │ definition y equals 4
│ ‾ │ ‾
└─ Test └─ Test
Candidate definition Candidate definition
┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:14.14-14.15: ┌─⯈ tests/exception/bad/one_ambiguous_exception.catala_en:14.14-14.15:
└──┐ └──┐
14 │ definition y equals 2 14 │ definition y equals 2
│ ‾ │ ‾

View File

@ -15,7 +15,7 @@ $ catala Interpret -s A
[ERROR] [ERROR]
Cannot define rule as an exception to itself Cannot define rule as an exception to itself
┌─⯈ tests/test_exception/bad/self_exception.catala_en:9.13-9.19: ┌─⯈ tests/exception/bad/self_exception.catala_en:9.13-9.19:
└─┐ └─┐
9 │ exception base_y 9 │ exception base_y
│ ‾‾‾‾‾‾ │ ‾‾‾‾‾‾

View File

@ -21,14 +21,14 @@ $ catala Interpret -s A
There is a conflict between multiple valid consequences for assigning the same variable. There is a conflict between multiple valid consequences for assigning the same variable.
This consequence has a valid justification: This consequence has a valid justification:
┌─⯈ tests/test_exception/bad/two_exceptions.catala_en:12.23-12.24: ┌─⯈ tests/exception/bad/two_exceptions.catala_en:12.23-12.24:
└──┐ └──┐
12 │ definition x equals 1 12 │ definition x equals 1
│ ‾ │ ‾
└─ Test └─ Test
This consequence has a valid justification: This consequence has a valid justification:
┌─⯈ tests/test_exception/bad/two_exceptions.catala_en:15.23-15.24: ┌─⯈ tests/exception/bad/two_exceptions.catala_en:15.23-15.24:
└──┐ └──┐
15 │ definition x equals 2 15 │ definition x equals 2
│ ‾ │ ‾

View File

@ -16,13 +16,13 @@ scope Foo:
$ catala Typecheck --check-invariants $ catala Typecheck --check-invariants
[WARNING] These definitions have identical justifications and consequences; is it a mistake? [WARNING] These definitions have identical justifications and consequences; is it a mistake?
┌─⯈ tests/test_exception/good/double_definition.catala_en:9.3-9.15: ┌─⯈ tests/exception/good/double_definition.catala_en:9.3-9.15:
└─┐ └─┐
9 │ definition x equals 1 9 │ definition x equals 1
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
└─ Foo └─ Foo
┌─⯈ tests/test_exception/good/double_definition.catala_en:8.3-8.15: ┌─⯈ tests/exception/good/double_definition.catala_en:8.3-8.15:
└─┐ └─┐
8 │ definition x equals 1 8 │ definition x equals 1
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
@ -35,13 +35,13 @@ $ catala Typecheck --check-invariants
$ catala Scopelang -s Foo $ catala Scopelang -s Foo
[WARNING] These definitions have identical justifications and consequences; is it a mistake? [WARNING] These definitions have identical justifications and consequences; is it a mistake?
┌─⯈ tests/test_exception/good/double_definition.catala_en:9.3-9.15: ┌─⯈ tests/exception/good/double_definition.catala_en:9.3-9.15:
└─┐ └─┐
9 │ definition x equals 1 9 │ definition x equals 1
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
└─ Foo └─ Foo
┌─⯈ tests/test_exception/good/double_definition.catala_en:8.3-8.15: ┌─⯈ tests/exception/good/double_definition.catala_en:8.3-8.15:
└─┐ └─┐
8 │ definition x equals 1 8 │ definition x equals 1
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
@ -60,13 +60,13 @@ Dcalc translation below.
$ catala Dcalc -s Foo $ catala Dcalc -s Foo
[WARNING] These definitions have identical justifications and consequences; is it a mistake? [WARNING] These definitions have identical justifications and consequences; is it a mistake?
┌─⯈ tests/test_exception/good/double_definition.catala_en:9.3-9.15: ┌─⯈ tests/exception/good/double_definition.catala_en:9.3-9.15:
└─┐ └─┐
9 │ definition x equals 1 9 │ definition x equals 1
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾
└─ Foo └─ Foo
┌─⯈ tests/test_exception/good/double_definition.catala_en:8.3-8.15: ┌─⯈ tests/exception/good/double_definition.catala_en:8.3-8.15:
└─┐ └─┐
8 │ definition x equals 1 8 │ definition x equals 1
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -84,36 +84,36 @@ $ catala Exceptions -s Foo -v x
Printing the tree of exceptions for the definitions of variable "x" of scope "Foo". Printing the tree of exceptions for the definitions of variable "x" of scope "Foo".
[RESULT] [RESULT]
Definitions with label "base": Definitions with label "base":
┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:9.3-9.26: ┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:9.3-9.26:
└─┐ └─┐
9 │ label base definition x under condition 9 │ label base definition x under condition
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
└─ Test └─ Test
┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:13.3-13.26: ┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:13.3-13.26:
└──┐ └──┐
13 │ label base definition x under condition 13 │ label base definition x under condition
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
└─ Test └─ Test
[RESULT] [RESULT]
Definitions with label "intermediate": Definitions with label "intermediate":
┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:17.3-17.49: ┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:17.3-17.49:
└──┐ └──┐
17 │ label intermediate exception base definition x under condition 17 │ label intermediate exception base definition x under condition
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
└─ Test └─ Test
┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:21.3-21.49: ┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:21.3-21.49:
└──┐ └──┐
21 │ label intermediate exception base definition x under condition 21 │ label intermediate exception base definition x under condition
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
└─ Test └─ Test
[RESULT] [RESULT]
Definitions with label "exception_to_intermediate": Definitions with label "exception_to_intermediate":
┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:25.3-25.38: ┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:25.3-25.38:
└──┐ └──┐
25 │ exception intermediate definition x under condition 25 │ exception intermediate definition x under condition
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
└─ Test └─ Test
┌─⯈ tests/test_exception/good/groups_of_exceptions.catala_en:29.3-29.38: ┌─⯈ tests/exception/good/groups_of_exceptions.catala_en:29.3-29.38:
└──┐ └──┐
29 │ exception intermediate definition x under condition 29 │ exception intermediate definition x under condition
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -33,14 +33,14 @@ $ catala Interpret -s S
There is a conflict between multiple valid consequences for assigning the same variable. There is a conflict between multiple valid consequences for assigning the same variable.
This consequence has a valid justification: This consequence has a valid justification:
┌─⯈ tests/test_func/bad/bad_func.catala_en:14.65-14.70: ┌─⯈ tests/func/bad/bad_func.catala_en:14.65-14.70:
└──┐ └──┐
14 │ definition f of x under condition (x >= x) consequence equals x + x 14 │ definition f of x under condition (x >= x) consequence equals x + x
│ ‾‾‾‾‾ │ ‾‾‾‾‾
└─ Article └─ Article
This consequence has a valid justification: This consequence has a valid justification:
┌─⯈ tests/test_func/bad/bad_func.catala_en:15.62-15.67: ┌─⯈ tests/func/bad/bad_func.catala_en:15.62-15.67:
└──┐ └──┐
15 │ definition f of x under condition not b consequence equals x * x 15 │ definition f of x under condition not b consequence equals x * x
│ ‾‾‾‾‾ │ ‾‾‾‾‾

View File

@ -18,13 +18,13 @@ $ catala typecheck
Function argument name mismatch between declaration ('x') and definition ('y') Function argument name mismatch between declaration ('x') and definition ('y')
Argument declared here: Argument declared here:
┌─⯈ tests/test_func/bad/param_inconsistency.catala_en:4.42-4.43: ┌─⯈ tests/func/bad/param_inconsistency.catala_en:4.42-4.43:
└─┐ └─┐
4 │ internal f1 content decimal depends on x content integer 4 │ internal f1 content decimal depends on x content integer
│ ‾ │ ‾
Defined here: Defined here:
┌─⯈ tests/test_func/bad/param_inconsistency.catala_en:10.20-10.21: ┌─⯈ tests/func/bad/param_inconsistency.catala_en:10.20-10.21:
└──┐ └──┐
10 │ definition f1 of y under condition not cond 10 │ definition f1 of y under condition not cond
│ ‾ │ ‾

View File

@ -17,13 +17,13 @@ $ catala typecheck
Function argument name mismatch between declaration ('x') and definition ('y') Function argument name mismatch between declaration ('x') and definition ('y')
Argument declared here: Argument declared here:
┌─⯈ tests/test_func/bad/param_inconsistency2.catala_en:4.42-4.43: ┌─⯈ tests/func/bad/param_inconsistency2.catala_en:4.42-4.43:
└─┐ └─┐
4 │ internal f1 content decimal depends on x content integer 4 │ internal f1 content decimal depends on x content integer
│ ‾ │ ‾
Defined here: Defined here:
┌─⯈ tests/test_func/bad/param_inconsistency2.catala_en:9.30-9.31: ┌─⯈ tests/func/bad/param_inconsistency2.catala_en:9.30-9.31:
└─┐ └─┐
9 │ exception definition f1 of y under condition not cond 9 │ exception definition f1 of y under condition not cond
│ ‾ │ ‾

View File

@ -17,13 +17,13 @@ $ catala typecheck
Function argument name mismatch between declaration ('x') and definition ('y') Function argument name mismatch between declaration ('x') and definition ('y')
Argument declared here: Argument declared here:
┌─⯈ tests/test_func/bad/param_inconsistency3.catala_en:4.42-4.43: ┌─⯈ tests/func/bad/param_inconsistency3.catala_en:4.42-4.43:
└─┐ └─┐
4 │ internal f1 content decimal depends on x content integer 4 │ internal f1 content decimal depends on x content integer
│ ‾ │ ‾
Defined here: Defined here:
┌─⯈ tests/test_func/bad/param_inconsistency3.catala_en:9.30-9.31: ┌─⯈ tests/func/bad/param_inconsistency3.catala_en:9.30-9.31:
└─┐ └─┐
9 │ exception definition f1 of y under condition not cond 9 │ exception definition f1 of y under condition not cond
│ ‾ │ ‾

View File

@ -13,7 +13,7 @@ $ catala Interpret -s RecursiveFunc
[ERROR] [ERROR]
The variable f is used in one of its definitions, but recursion is forbidden in Catala The variable f is used in one of its definitions, but recursion is forbidden in Catala
┌─⯈ tests/test_func/bad/recursive.catala_en:8.28-8.29: ┌─⯈ tests/func/bad/recursive.catala_en:8.28-8.29:
└─┐ └─┐
8 │ definition f of x equals f of x + 1 8 │ definition f of x equals f of x + 1
│ ‾ │ ‾

View File

@ -20,14 +20,14 @@ $ catala Typecheck
This subscope variable is a mandatory input but no definition was provided. This subscope variable is a mandatory input but no definition was provided.
Incriminated subscope: Incriminated subscope:
┌─⯈ tests/test_io/bad/forgot_input.catala_en:9.3-9.4: ┌─⯈ tests/io/bad/forgot_input.catala_en:9.3-9.4:
└─┐ └─┐
9 │ a scope A 9 │ a scope A
│ ‾ │ ‾
└─ Test └─ Test
Incriminated variable: Incriminated variable:
┌─⯈ tests/test_io/bad/forgot_input.catala_en:6.9-6.10: ┌─⯈ tests/io/bad/forgot_input.catala_en:6.9-6.10:
└─┐ └─┐
6 │ input x content integer 6 │ input x content integer
│ ‾ │ ‾

View File

@ -20,21 +20,21 @@ $ catala Typecheck
It is impossible to give a definition to a subscope variable not tagged as input or context. It is impossible to give a definition to a subscope variable not tagged as input or context.
Incriminated subscope: Incriminated subscope:
┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:8.3-8.4: ┌─⯈ tests/io/bad/inputing_to_not_input.catala_en:8.3-8.4:
└─┐ └─┐
8 │ a scope A 8 │ a scope A
│ ‾ │ ‾
└─ Test └─ Test
Incriminated variable: Incriminated variable:
┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:5.10-5.11: ┌─⯈ tests/io/bad/inputing_to_not_input.catala_en:5.10-5.11:
└─┐ └─┐
5 │ output a content integer 5 │ output a content integer
│ ‾ │ ‾
└─ Test └─ Test
Incriminated subscope variable definition: Incriminated subscope variable definition:
┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:14.3-14.17: ┌─⯈ tests/io/bad/inputing_to_not_input.catala_en:14.3-14.17:
└──┐ └──┐
14 │ definition a.a equals 0 14 │ definition a.a equals 0
│ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -13,14 +13,14 @@ $ catala Typecheck
It is impossible to give a definition to a scope variable tagged as input. It is impossible to give a definition to a scope variable tagged as input.
Incriminated variable: Incriminated variable:
┌─⯈ tests/test_io/bad/redefining_input.catala_en:5.16-5.17: ┌─⯈ tests/io/bad/redefining_input.catala_en:5.16-5.17:
└─┐ └─┐
5 │ input output a content integer 5 │ input output a content integer
│ ‾ │ ‾
└─ Test └─ Test
Incriminated variable definition: Incriminated variable definition:
┌─⯈ tests/test_io/bad/redefining_input.catala_en:8.3-8.15: ┌─⯈ tests/io/bad/redefining_input.catala_en:8.3-8.15:
└─┐ └─┐
8 │ definition a equals 0 8 │ definition a equals 0
│ ‾‾‾‾‾‾‾‾‾‾‾‾ │ ‾‾‾‾‾‾‾‾‾‾‾‾

View File

@ -17,7 +17,7 @@ scope B:
$ catala Typecheck $ catala Typecheck
[WARNING] This variable is dead code; it does not contribute to computing any of scope "A" outputs. Did you forget something? [WARNING] This variable is dead code; it does not contribute to computing any of scope "A" outputs. Did you forget something?
┌─⯈ tests/test_io/bad/using_non_output.catala_en:5.12-5.13: ┌─⯈ tests/io/bad/using_non_output.catala_en:5.12-5.13:
└─┐ └─┐
5 │ internal a content integer 5 │ internal a content integer
│ ‾ │ ‾
@ -26,21 +26,21 @@ $ catala Typecheck
The variable a.a cannot be used here, as it is not part of subscope a's results. Maybe you forgot to qualify it as an output? The variable a.a cannot be used here, as it is not part of subscope a's results. Maybe you forgot to qualify it as an output?
Incriminated variable usage: Incriminated variable usage:
┌─⯈ tests/test_io/bad/using_non_output.catala_en:14.13-14.16: ┌─⯈ tests/io/bad/using_non_output.catala_en:14.13-14.16:
└──┐ └──┐
14 │ assertion a.a = 0 14 │ assertion a.a = 0
│ ‾‾‾ │ ‾‾‾
└─ Test └─ Test
Incriminated subscope variable declaration: Incriminated subscope variable declaration:
┌─⯈ tests/test_io/bad/using_non_output.catala_en:5.12-5.13: ┌─⯈ tests/io/bad/using_non_output.catala_en:5.12-5.13:
└─┐ └─┐
5 │ internal a content integer 5 │ internal a content integer
│ ‾ │ ‾
└─ Test └─ Test
Incriminated subscope declaration: Incriminated subscope declaration:
┌─⯈ tests/test_io/bad/using_non_output.catala_en:8.3-8.4: ┌─⯈ tests/io/bad/using_non_output.catala_en:8.3-8.4:
└─┐ └─┐
8 │ a scope A 8 │ a scope A
│ ‾ │ ‾

Some files were not shown because too many files have changed in this diff Show More