From 4422662b0733fd01ba67ef58a216164ff2bda958 Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Mon, 24 Mar 2025 09:21:26 -0300 Subject: [PATCH] cgen: allow asserts inside fns, called in const/global initialization, in test files (fix #24029) (#24031) --- vlib/v/gen/c/cmain.v | 2 +- vlib/v/tests/test_global_init_test.v | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 vlib/v/tests/test_global_init_test.v diff --git a/vlib/v/gen/c/cmain.v b/vlib/v/gen/c/cmain.v index b82cf060d..a061aebf0 100644 --- a/vlib/v/gen/c/cmain.v +++ b/vlib/v/gen/c/cmain.v @@ -301,10 +301,10 @@ pub fn (mut g Gen) gen_c_main_for_tests() { } g.writeln('#endif') } + g.writeln('\tmain__vtest_init();') if !g.pref.no_builtin { g.writeln('\t_vinit(___argc, (voidptr)___argv);') } - g.writeln('\tmain__vtest_init();') g.gen_c_main_profile_hook() mut all_tfuncs := g.get_all_test_function_names() diff --git a/vlib/v/tests/test_global_init_test.v b/vlib/v/tests/test_global_init_test.v new file mode 100644 index 000000000..477aef58b --- /dev/null +++ b/vlib/v/tests/test_global_init_test.v @@ -0,0 +1,10 @@ +const x = my_init() + +fn my_init() int { + assert true + return 1 +} + +fn test_my_init() { + assert x == 1 +} -- 2.39.5