zig/test/cases
2024-08-16 09:41:58 -07:00
..
compile_errors add an error for stack allocations in naked functions (#21082) 2024-08-16 09:41:58 -07:00
llvm Revert "Merge pull request #20380 from tau-dev/master" 2024-07-21 02:44:58 -07:00
run_translated_c translate-c: Use mangled name for local extern in condition/loop 2024-07-28 02:58:49 +03:00
safety Revert the last two commits in this branch 2024-03-20 17:29:06 -07:00
translate_c aro_translate_c: do not translate atomic types 2024-07-31 10:04:21 -07:00
x86_64-linux all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
adding_numbers_at_runtime_and_comptime.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
adding_numbers_at_runtime_and_comptime.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
adding_numbers_at_runtime_and_comptime.2.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
address_of_extern_var_as_const.zig test cases: taking address of extern var as constant 2023-06-27 19:08:27 -04:00
ambiguous_reference.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
arithmetic_operations.0.zig fix compilation failures found by CI 2024-03-19 16:18:18 -07:00
arithmetic_operations.1.zig fix compilation failures found by CI 2024-03-19 16:18:18 -07:00
arithmetic_operations.2.zig fix compilation failures found by CI 2024-03-19 16:18:18 -07:00
arithmetic_operations.3.zig fix compilation failures found by CI 2024-03-19 16:18:18 -07:00
arithmetic_operations.4.zig fix compilation failures found by CI 2024-03-19 16:18:18 -07:00
arithmetic_operations.5.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
arithmetic_operations.6.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
array_in_anon_struct.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
assert_function.0.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.1.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.2.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.3.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.4.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.5.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.6.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.7.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
assert_function.8.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
assert_function.9.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.10.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.11.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.12.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.13.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.14.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.15.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.16.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
assert_function.17.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
assert_function.18.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
bad_inferred_variable_type.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.1.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.2.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.3.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.4.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.5.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.6.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.7.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.8.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.9.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.10.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.11.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.12.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.13.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.14.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
binary_operands.15.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.16.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.17.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.18.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.19.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.20.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.21.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.22.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.23.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.24.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
binary_operands.25.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
break_continue.0.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
break_continue.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
break_continue.2.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
break_continue.3.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
catch_at_comptime.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
catch_at_comptime.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
catch_at_comptime.2.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
catch_at_comptime.3.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
catch_at_comptime.4.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
comparison_of_non-tagged_union_and_enum_literal.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
compile_error.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
compile_log.0.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
compile_log.1.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
comptime_aggregate_print.zig compiler: rework comptime pointer representation and access 2024-04-17 13:41:25 +01:00
comptime_var.0.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
comptime_var.1.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
comptime_var.2.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
comptime_var.3.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
comptime_var.4.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
comptime_var.5.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
comptime_var.6.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
conditional_branches.0.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
conditional_branches.1.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
conditions.0.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
conditions.1.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
conditions.2.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
conditions.3.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
conditions.4.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
conditions.5.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
decl_value_arena.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
double_ampersand.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
double_ampersand.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
double_ampersand.2.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
enum_values.0.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
enum_values.1.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
error_in_nested_declaration.zig Compilation: introduce work stages for better work distribution 2024-07-13 04:47:38 -04:00
error_unions.0.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
error_unions.1.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
error_unions.2.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
error_unions.3.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
error_unions.4.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
error_unions.5.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
errors.0.zig fix compilation failures found by CI 2024-03-19 16:18:18 -07:00
errors.1.zig fix compilation failures found by CI 2024-03-19 16:18:18 -07:00
errors.2.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
errors.3.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
exit.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
extern_variable_has_no_type.0.zig Sema: allow runtime only instructions to be emitted in outside functions 2022-10-20 20:11:00 +03:00
extern_variable_has_no_type.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
f32_passed_to_variadic_fn.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
float_mode_optimized_reduce.zig LLVM: Add test for calling reduce with float mode set to optimized 2024-03-17 16:34:36 +01:00
fn_typeinfo_passed_to_comptime_fn.zig tests: translate-c and run-translated-c to the test harness 2023-10-17 11:55:17 +03:00
function_calls.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
function_calls.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
function_calls.2.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
function_calls.3.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
function_pointers.zig fix compilation failures found by CI 2024-03-19 16:18:18 -07:00
function_redeclaration.zig AstGen: use 'shadows' instead of 'redeclaration' when names are in different scopes 2022-10-07 11:04:02 +03:00
global_variable_redeclaration.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
hello_world_with_updates.0.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
hello_world_with_updates.1.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
hello_world_with_updates.2.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
hello_world_with_updates.3.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
hello_world_with_updates.4.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
hello_world_with_updates.5.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
hello_world_with_updates.6.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
inherit_want_safety.zig riscv: add stage2_riscv to test matrix and bypass failing tests 2024-05-11 02:17:24 -07:00
inner_func_accessing_outer_var.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
int_to_ptr.0.zig all: migrate code to new cast builtin syntax 2023-06-24 16:56:39 -07:00
int_to_ptr.1.zig all: migrate code to new cast builtin syntax 2023-06-24 16:56:39 -07:00
large_add_function.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
locals.0.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
locals.1.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
lower_unnamed_consts_structs.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
lower_unnamed_consts_structs.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
lower_unnamed_consts_structs.2.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
maximum_sized_integer_literal.zig test cases: maximum sized integer literal 2023-06-27 19:08:27 -04:00
merge_error_sets.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
merge_error_sets.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
multiplying_numbers_at_runtime_and_comptime.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
multiplying_numbers_at_runtime_and_comptime.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
multiplying_numbers_at_runtime_and_comptime.2.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
no_compile_panic_for_unchecked_arith.zig Sema: Added logic to avoid unchecked operations calling preparePanicId (#18416) 2024-01-03 02:34:24 -05:00
non_leaf_functions.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
only_1_function_and_it_gets_updated.0.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
only_1_function_and_it_gets_updated.1.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
optional_payload.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
optional_payload.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
optional_payload.2.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
optional_payload.3.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
optionals.0.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
optionals.1.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
optionals.2.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
optionals.3.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
optionals.4.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
orelse_at_comptime.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
orelse_at_comptime.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
parameters_and_return_values.0.zig fix compilation failures found by CI 2024-03-19 16:18:18 -07:00
parameters_and_return_values.1.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
passing_u0_to_function.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
pointers.0.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
pointers.1.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
print_u32s.zig fix compilation failures found by CI 2024-03-19 16:18:18 -07:00
README.md tests: translate-c and run-translated-c to the test harness 2023-10-17 11:55:17 +03:00
recursive_fibonacci.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
redundant_comptime.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
redundant_comptime.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
returning_undefined_sentinel_terminated_const_u8_slice.zig test cases: returning undefined [:0]const u8 2023-06-27 19:57:23 -04:00
returns_in_try.zig stage2: change how defers are stored in Zir 2022-09-12 01:52:44 -04:00
runtime_bitwise_and.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
runtime_bitwise_or.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
save_function_return_values_in_callee_preserved_register.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
setting_an_address_space_on_a_local_variable.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
spilling_registers.0.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
spilling_registers.1.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
structs.0.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
structs.1.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
structs.2.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
structs.3.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
structs.4.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
switch.0.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
switch.1.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
switch.2.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
switch.3.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
tail_call_noreturn.zig test cases: fix typo in filename 2023-06-27 19:57:23 -04:00
taking_pointer_of_global_tagged_union.zig test cases: taking pointer of global tagged union 2023-06-27 19:57:23 -04:00
try_in_comptime_in_struct_in_test.zig tests: translate-c and run-translated-c to the test harness 2023-10-17 11:55:17 +03:00
type_of.0.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
type_of.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
type_of.2.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
union_unresolved_layout.zig LLVM lowerDebugType: Lower union types without a layout into an empty namespace 2024-03-17 13:25:09 +02:00
unused_labels.0.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
unused_labels.1.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
unused_labels.2.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
unused_labels.3.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
unused_vars.zig compiler: implement destructuring syntax 2023-09-15 11:33:53 -07:00
variable_shadowing.0.zig disable spuriously failing test on Windows 2022-09-14 16:12:55 -07:00
variable_shadowing.1.zig AstGen: use 'shadows' instead of 'redeclaration' when names are in different scopes 2022-10-07 11:04:02 +03:00
variable_shadowing.2.zig test: move compile errors and incremental tests into common dir 2022-05-04 23:51:16 +02:00
variable_shadowing.3.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
variable_shadowing.4.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
variable_shadowing.5.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
variable_shadowing.6.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
variable_shadowing.7.zig AstGen: use 'shadows' instead of 'redeclaration' when names are in different scopes 2022-10-07 11:04:02 +03:00
variable_shadowing.8.zig AstGen: use 'shadows' instead of 'redeclaration' when names are in different scopes 2022-10-07 11:04:02 +03:00
variable_shadowing.9.zig AstGen: use 'shadows' instead of 'redeclaration' when names are in different scopes 2022-10-07 11:04:02 +03:00
variable_shadowing.10.zig AstGen: fix catch payoad not checking for shadowing 2022-07-07 21:38:32 +03:00
while_loops.0.zig Unify incremental test cases and disable many 2023-04-20 20:49:36 +01:00
while_loops.1.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00
while_loops.2.zig test: update cases to silence 'var is never mutated' errors 2023-11-19 09:56:51 +00:00

Test Case Quick Reference

Use comments at the end of the file to indicate metadata about the test case. Here are examples of different kinds of tests:

Compile Error Test

If you want it to be run with zig test and match expected error messages:

// error
// is_test=true
//
// :4:13: error: 'try' outside function scope

Execution

This will do zig run on the code and expect exit code 0.

// run

Translate-c

If you want to test translating C code to Zig use translate-c:

// translate-c
// c_frontend=aro,clang
// target=x86_64-linux
//
// pub const foo = 1;
// pub const immediately_after_foo = 2;
//
// pub const somewhere_else_in_the_file = 3:

Run Translated C

If you want to test translating C code to Zig and then executing it use run-translated-c:

// run-translated-c
// c_frontend=aro,clang
// target=x86_64-linux
//
// Hello world!

Incremental Compilation

Make multiple files that have ".", and then an integer, before the ".zig" extension, like this:

hello.0.zig
hello.1.zig
hello.2.zig

Each file can be a different kind of test, such as expecting compile errors, or expecting to be run and exit(0). The test harness will use these to simulate incremental compilation.

At the time of writing there is no way to specify multiple files being changed as part of an update.

Subdirectories

Subdirectories do not have any semantic meaning but they can be used for organization since the test harness will recurse into them. The full directory path will be prepended as a prefix on the test case name.

Limiting which Backends and Targets are Tested

// run
// backend=stage2,llvm
// target=x86_64-linux,x86_64-macos

Possible backends are:

  • stage1: equivalent to -fstage1.
  • stage2: equivalent to passing -fno-stage1 -fno-LLVM.
  • llvm: equivalent to -fLLVM -fno-stage1.