diff options
Diffstat (limited to 'testsuite/runnable')
44 files changed, 44 insertions, 1 deletions
diff --git a/testsuite/runnable/aggregate_argument.elna b/testsuite/runnable/aggregate_argument.elna index 875265e..7aa6ea0 100644 --- a/testsuite/runnable/aggregate_argument.elna +++ b/testsuite/runnable/aggregate_argument.elna @@ -7,6 +7,7 @@ type proc f(r: R) -> Bool return r.a = 1 & r.b = 2 +program() begin assert(f(R{a: 1, b: 2})) end. diff --git a/testsuite/runnable/aggregate_equality.elna b/testsuite/runnable/aggregate_equality.elna index bfe2174..b8da9e9 100644 --- a/testsuite/runnable/aggregate_equality.elna +++ b/testsuite/runnable/aggregate_equality.elna @@ -7,6 +7,7 @@ type proc f() -> Bool return R{a: 1, b: 2} = R{a: 1, b: 2} +program() begin assert(f()) end. diff --git a/testsuite/runnable/array_constructor.elna b/testsuite/runnable/array_constructor.elna index 0e7b08b..aa1c43c 100644 --- a/testsuite/runnable/array_constructor.elna +++ b/testsuite/runnable/array_constructor.elna @@ -2,6 +2,7 @@ var a: [3]Int := [1, 2, 3] b: [2]Int := [4, 0] +program() begin assert(a[1] = 1 & a[2] = 2 & a[3] = 3); assert(b[1] = 4 & b[2] = 0); diff --git a/testsuite/runnable/binary_literal.elna b/testsuite/runnable/binary_literal.elna index 0c2cbd9..6380f24 100644 --- a/testsuite/runnable/binary_literal.elna +++ b/testsuite/runnable/binary_literal.elna @@ -1,3 +1,4 @@ +program() begin assert(0b11 = 3u); assert(0B011 = 3u) diff --git a/testsuite/runnable/case_constant_label.elna b/testsuite/runnable/case_constant_label.elna index 5d55e9f..2402bf7 100644 --- a/testsuite/runnable/case_constant_label.elna +++ b/testsuite/runnable/case_constant_label.elna @@ -4,6 +4,7 @@ var x: Int := 2 matched: Bool := false +program() begin case x of 1: assert(false) diff --git a/testsuite/runnable/case_else.elna b/testsuite/runnable/case_else.elna index dbec6df..b5ab3c0 100644 --- a/testsuite/runnable/case_else.elna +++ b/testsuite/runnable/case_else.elna @@ -2,6 +2,7 @@ var x: Int := 5 matched: Bool := false +program() begin case x of 1: assert(false) diff --git a/testsuite/runnable/case_int.elna b/testsuite/runnable/case_int.elna index 3b770a7..ca36fc8 100644 --- a/testsuite/runnable/case_int.elna +++ b/testsuite/runnable/case_int.elna @@ -1,6 +1,7 @@ var x: Int := 2 +program() begin case x of 1: assert(false) diff --git a/testsuite/runnable/case_multilabel.elna b/testsuite/runnable/case_multilabel.elna index be647d4..083bdb0 100644 --- a/testsuite/runnable/case_multilabel.elna +++ b/testsuite/runnable/case_multilabel.elna @@ -1,6 +1,7 @@ var x: Int := 3 +program() begin case x of 1, 2, 3: assert(true) diff --git a/testsuite/runnable/case_record.elna b/testsuite/runnable/case_record.elna index 4f65a5b..26436ea 100644 --- a/testsuite/runnable/case_record.elna +++ b/testsuite/runnable/case_record.elna @@ -7,6 +7,7 @@ type var r: R := R{a: 1, b: 2} +program() begin case r of R{a: 0, b: 0}: assert(false) diff --git a/testsuite/runnable/compile_time_array_access.elna b/testsuite/runnable/compile_time_array_access.elna index 4d59215..b854635 100644 --- a/testsuite/runnable/compile_time_array_access.elna +++ b/testsuite/runnable/compile_time_array_access.elna @@ -2,6 +2,7 @@ var array: const [3]Int := [1, 2, 3] i: const Int := array[2] +program() begin assert(i = 2) end. diff --git a/testsuite/runnable/const_copy.elna b/testsuite/runnable/const_copy.elna index 5982149..32cee67 100644 --- a/testsuite/runnable/const_copy.elna +++ b/testsuite/runnable/const_copy.elna @@ -7,6 +7,7 @@ begin assert(y = 5) return +program() begin f() end. diff --git a/testsuite/runnable/const_initialization.elna b/testsuite/runnable/const_initialization.elna index 7f922ff..56a6697 100644 --- a/testsuite/runnable/const_initialization.elna +++ b/testsuite/runnable/const_initialization.elna @@ -5,6 +5,7 @@ begin assert(x = 5) return +program() begin f() end. diff --git a/testsuite/runnable/constant_string_initializer.elna b/testsuite/runnable/constant_string_initializer.elna index 52ca429..8fd3b78 100644 --- a/testsuite/runnable/constant_string_initializer.elna +++ b/testsuite/runnable/constant_string_initializer.elna @@ -1,6 +1,7 @@ var s: []const Word8 := "String value" +program() begin assert(s = "String value") end. diff --git a/testsuite/runnable/define_multiple_local_variables.elna b/testsuite/runnable/define_multiple_local_variables.elna index 8e44da4..72f0874 100644 --- a/testsuite/runnable/define_multiple_local_variables.elna +++ b/testsuite/runnable/define_multiple_local_variables.elna @@ -3,6 +3,7 @@ var a, b: Int := 5 return a = 5 & b = 5 +program() begin assert(f()) end. diff --git a/testsuite/runnable/exported_variable/sut.elna b/testsuite/runnable/exported_variable/sut.elna index 52fb291..1fbc6ee 100644 --- a/testsuite/runnable/exported_variable/sut.elna +++ b/testsuite/runnable/exported_variable/sut.elna @@ -1,5 +1,6 @@ import helper +program() begin assert(Shared = 42) end. diff --git a/testsuite/runnable/fixed_int_max.elna b/testsuite/runnable/fixed_int_max.elna index 0564dd6..f00fd60 100644 --- a/testsuite/runnable/fixed_int_max.elna +++ b/testsuite/runnable/fixed_int_max.elna @@ -1,3 +1,4 @@ +program() begin assert(#max(Int8) = 127i8); assert(#max(Int16) = 32767i16); diff --git a/testsuite/runnable/fixed_int_min.elna b/testsuite/runnable/fixed_int_min.elna index de83d1a..fd6b110 100644 --- a/testsuite/runnable/fixed_int_min.elna +++ b/testsuite/runnable/fixed_int_min.elna @@ -1,3 +1,4 @@ +program() begin assert(#min(Int8) = -128i8); assert(#min(Int16) = -32768i16); diff --git a/testsuite/runnable/fixed_word_max.elna b/testsuite/runnable/fixed_word_max.elna index 76026a2..c657614 100644 --- a/testsuite/runnable/fixed_word_max.elna +++ b/testsuite/runnable/fixed_word_max.elna @@ -1,3 +1,4 @@ +program() begin assert(#max(Word8) = 255u8); assert(#max(Word16) = 65535u16); diff --git a/testsuite/runnable/float_arithmetic.elna b/testsuite/runnable/float_arithmetic.elna index 73072f2..f792b04 100644 --- a/testsuite/runnable/float_arithmetic.elna +++ b/testsuite/runnable/float_arithmetic.elna @@ -1,3 +1,4 @@ +program() begin assert(6.0 / 2.0 = 3.0); assert(5.0 / 2.0 = 2.5); diff --git a/testsuite/runnable/for_each_array.elna b/testsuite/runnable/for_each_array.elna index c6cba41..806a84b 100644 --- a/testsuite/runnable/for_each_array.elna +++ b/testsuite/runnable/for_each_array.elna @@ -3,6 +3,7 @@ var input: [4]Word := [2u, 4u, 6u, 8u] i: Word := 1u +program() begin for element of input do actual[i] := element^ * 2u; diff --git a/testsuite/runnable/for_each_slice.elna b/testsuite/runnable/for_each_slice.elna index 5356bc8..ecd3cc3 100644 --- a/testsuite/runnable/for_each_slice.elna +++ b/testsuite/runnable/for_each_slice.elna @@ -4,6 +4,7 @@ var slice: []Word i: Word := 1u +program() begin slice := input[1u to input.length]; diff --git a/testsuite/runnable/for_with.elna b/testsuite/runnable/for_with.elna index 22ccb13..582a641 100644 --- a/testsuite/runnable/for_with.elna +++ b/testsuite/runnable/for_with.elna @@ -1,6 +1,7 @@ var actual: [3]Word := [0u, 0u, 0u] +program() begin for element of [1u, 2u, 3u] with i do actual[i] := i * element^ diff --git a/testsuite/runnable/generic_pointer_arithmetic.elna b/testsuite/runnable/generic_pointer_arithmetic.elna index c737c7d..9aad7d6 100644 --- a/testsuite/runnable/generic_pointer_arithmetic.elna +++ b/testsuite/runnable/generic_pointer_arithmetic.elna @@ -4,6 +4,7 @@ var first: Pointer second: Pointer +program() begin element := base.ptr; first := element; diff --git a/testsuite/runnable/hexadecimal_literal.elna b/testsuite/runnable/hexadecimal_literal.elna index 71fd2da..a168bd2 100644 --- a/testsuite/runnable/hexadecimal_literal.elna +++ b/testsuite/runnable/hexadecimal_literal.elna @@ -1,3 +1,4 @@ +program() begin assert(0xff = 255u); assert(0X0f = 15u) diff --git a/testsuite/runnable/multi_module/sut.elna b/testsuite/runnable/multi_module/sut.elna index fb26a26..666f82a 100644 --- a/testsuite/runnable/multi_module/sut.elna +++ b/testsuite/runnable/multi_module/sut.elna @@ -1,5 +1,6 @@ import helper +program() begin assert(multiply(3, 4) = 12) end. diff --git a/testsuite/runnable/procedure_cast.elna b/testsuite/runnable/procedure_cast.elna index ee97a6b..11e0e72 100644 --- a/testsuite/runnable/procedure_cast.elna +++ b/testsuite/runnable/procedure_cast.elna @@ -3,6 +3,7 @@ var cb: proc(x: ^Char) -> Int proc probe_int(x: ^Int) -> Int return 42 +program() begin cb := cast(probe_int: proc(x: ^Char) -> Int); assert(cb(nil) = 42) diff --git a/testsuite/runnable/record_base_assignment.elna b/testsuite/runnable/record_base_assignment.elna index 2a15d0f..81ee7cf 100644 --- a/testsuite/runnable/record_base_assignment.elna +++ b/testsuite/runnable/record_base_assignment.elna @@ -16,6 +16,7 @@ begin assert(r.x = 3u & r.y = 2u) return +program() begin f() end. diff --git a/testsuite/runnable/record_base_constructor.elna b/testsuite/runnable/record_base_constructor.elna index 86da08a..1ca3214 100644 --- a/testsuite/runnable/record_base_constructor.elna +++ b/testsuite/runnable/record_base_constructor.elna @@ -12,6 +12,7 @@ type var g: Grandchild := Grandchild{a: 3, b: 5, c: 7} +program() begin assert(g.a = 3); assert(g.b = 5); diff --git a/testsuite/runnable/record_construction.elna b/testsuite/runnable/record_construction.elna index 2bbc493..31fc21f 100644 --- a/testsuite/runnable/record_construction.elna +++ b/testsuite/runnable/record_construction.elna @@ -6,6 +6,7 @@ type var r: R := R{x: 1, y: 2} +program() begin assert(r.x = 1 & r.y = 2) end. diff --git a/testsuite/runnable/record_extension.elna b/testsuite/runnable/record_extension.elna index 7d8dc61..b195759 100644 --- a/testsuite/runnable/record_extension.elna +++ b/testsuite/runnable/record_extension.elna @@ -10,6 +10,7 @@ var token_memory: ElnaLexerStringToken current_token: ^ElnaLexerToken +program() begin current_token := @token_memory; cast(current_token: ^ElnaLexerStringToken)^.value := "Some string"; diff --git a/testsuite/runnable/record_layout.elna b/testsuite/runnable/record_layout.elna index 180d7bc..b94f18a 100644 --- a/testsuite/runnable/record_layout.elna +++ b/testsuite/runnable/record_layout.elna @@ -50,6 +50,7 @@ begin assert(array_record_c_offset = 3u * int_size) return +program() begin f() end. diff --git a/testsuite/runnable/recursive_record.elna b/testsuite/runnable/recursive_record.elna index 237eece..c940da9 100644 --- a/testsuite/runnable/recursive_record.elna +++ b/testsuite/runnable/recursive_record.elna @@ -27,6 +27,7 @@ begin end; return result +program() begin first := malloc(#size(Node)); second := malloc(#size(Node)); diff --git a/testsuite/runnable/repeat_loop.elna b/testsuite/runnable/repeat_loop.elna index 71554f0..ea50884 100644 --- a/testsuite/runnable/repeat_loop.elna +++ b/testsuite/runnable/repeat_loop.elna @@ -2,6 +2,7 @@ var actual: [4]Word := [0u, 0u, 0u, 0u] i: Word := 0u +program() begin repeat i := i + 1u; diff --git a/testsuite/runnable/return_aggregate.elna b/testsuite/runnable/return_aggregate.elna index fbc1a08..ad3ec65 100644 --- a/testsuite/runnable/return_aggregate.elna +++ b/testsuite/runnable/return_aggregate.elna @@ -7,6 +7,7 @@ type proc f() -> R return R{ a: 1, b: 2 } +program() begin assert(f() = R{ a: 1, b: 2 }) end. diff --git a/testsuite/runnable/slice_array.elna b/testsuite/runnable/slice_array.elna index 8baaff3..2b747ea 100644 --- a/testsuite/runnable/slice_array.elna +++ b/testsuite/runnable/slice_array.elna @@ -2,6 +2,7 @@ var array: [3]Int := [2, 4, 6] slice: []Int +program() begin slice := array[1 to 3]; diff --git a/testsuite/runnable/slice_cast.elna b/testsuite/runnable/slice_cast.elna index ca093db..d11f80a 100644 --- a/testsuite/runnable/slice_cast.elna +++ b/testsuite/runnable/slice_cast.elna @@ -1,6 +1,7 @@ var ints: [4]Int32 := [1i32, 2i32, 3i32, 4i32] +program() begin assert(cast(ints[1u to 4u]: []Int8).length = #size(Int32) * ints.length) end. diff --git a/testsuite/runnable/slice_equality.elna b/testsuite/runnable/slice_equality.elna index e34981a..08eb4f2 100644 --- a/testsuite/runnable/slice_equality.elna +++ b/testsuite/runnable/slice_equality.elna @@ -2,6 +2,7 @@ var lhs_payload, rhs_payload: [3]Int := [2, 4, 6] lhs, rhs: []Int +program() begin lhs := lhs_payload[1 to 3]; rhs := rhs_payload[1 to 3]; diff --git a/testsuite/runnable/slice_pointer.elna b/testsuite/runnable/slice_pointer.elna index 1ab367e..6ebcec9 100644 --- a/testsuite/runnable/slice_pointer.elna +++ b/testsuite/runnable/slice_pointer.elna @@ -2,6 +2,7 @@ var array: [3]Int := [2, 4, 6] slice: []Int +program() begin slice := array.ptr[1 to 3]; diff --git a/testsuite/runnable/slice_slice.elna b/testsuite/runnable/slice_slice.elna index f5e0eba..459cf51 100644 --- a/testsuite/runnable/slice_slice.elna +++ b/testsuite/runnable/slice_slice.elna @@ -2,6 +2,7 @@ var array: [5]Int := [2, 4, 6, 8, 10] slice1, slice2: []Int +program() begin slice1 := array[1 to array.length]; slice2 := slice1[2 to 4]; diff --git a/testsuite/runnable/two_fields_same_type.elna b/testsuite/runnable/two_fields_same_type.elna index 71dcbee..7d7292d 100644 --- a/testsuite/runnable/two_fields_same_type.elna +++ b/testsuite/runnable/two_fields_same_type.elna @@ -8,7 +8,7 @@ var r: R := R{x: 3, y: 2} return r.x + r.y - +program() begin assert(f() = 5) end. diff --git a/testsuite/runnable/two_parameters_same_type.elna b/testsuite/runnable/two_parameters_same_type.elna index 105a40c..41d688c 100644 --- a/testsuite/runnable/two_parameters_same_type.elna +++ b/testsuite/runnable/two_parameters_same_type.elna @@ -1,6 +1,7 @@ proc f(x, y: Int) -> Int return x + y +program() begin assert(f(2, 3) = 5) end. diff --git a/testsuite/runnable/unary_plus.elna b/testsuite/runnable/unary_plus.elna index bfd59d6..e4b3762 100644 --- a/testsuite/runnable/unary_plus.elna +++ b/testsuite/runnable/unary_plus.elna @@ -1,6 +1,7 @@ proc f(x: Int) -> Int return +x +program() begin assert(+3 = 3); assert(f(5) = 5); diff --git a/testsuite/runnable/unicode_escape_character.elna b/testsuite/runnable/unicode_escape_character.elna index d49910c..0cfd3e2 100644 --- a/testsuite/runnable/unicode_escape_character.elna +++ b/testsuite/runnable/unicode_escape_character.elna @@ -1,3 +1,4 @@ +program() begin assert(`\{U+E9}` = `é`); assert(`\{U+1F600}` = `😀`) diff --git a/testsuite/runnable/unicode_escape_string.elna b/testsuite/runnable/unicode_escape_string.elna index 5905eda..bec794a 100644 --- a/testsuite/runnable/unicode_escape_string.elna +++ b/testsuite/runnable/unicode_escape_string.elna @@ -1,3 +1,4 @@ +program() begin assert("caf\{U+E9}" = "café"); assert("Hi \{U+1F600}!" = "Hi 😀!") |
