| 1 | // Copyright (c) 2026 Alexander Medvednikov. All rights reserved. |
| 2 | // Use of this source code is governed by an MIT license |
| 3 | // that can be found in the LICENSE file. |
| 4 | module ssa |
| 5 | |
| 6 | import v2.ast |
| 7 | |
| 8 | fn test_skip_modules_with_file_fragment_does_not_drop_user_modules() { |
| 9 | mut mod := Module.new('skip_modules_test') |
| 10 | mut b := Builder.new(mod) |
| 11 | b.cur_module = 'c' |
| 12 | b.skip_modules['c'] = true |
| 13 | b.skip_module_file_fragments['c'] = '/vlib/v2/gen/c/' |
| 14 | |
| 15 | decl := ast.FnDecl{ |
| 16 | name: 'user_fn' |
| 17 | } |
| 18 | assert b.should_build_fn('/tmp/project/c/user.v', decl) |
| 19 | assert !b.should_build_fn('/Users/me/code/v/vlib/v2/gen/c/c.v', decl) |
| 20 | assert !b.should_build_fn('../../vlib/v2/gen/c/c.v', decl) |
| 21 | } |
| 22 | |
| 23 | fn test_skip_modules_with_file_fragment_matches_eval_backend_path() { |
| 24 | mut mod := Module.new('skip_modules_eval_test') |
| 25 | mut b := Builder.new(mod) |
| 26 | b.cur_module = 'eval' |
| 27 | b.skip_modules['eval'] = true |
| 28 | b.skip_module_file_fragments['eval'] = '/vlib/v2/eval/' |
| 29 | |
| 30 | decl := ast.FnDecl{ |
| 31 | name: 'user_fn' |
| 32 | } |
| 33 | assert b.should_build_fn('/tmp/project/eval/user.v', decl) |
| 34 | assert !b.should_build_fn('/Users/me/code/v/vlib/v2/eval/eval.v', decl) |
| 35 | assert !b.should_build_fn('../../vlib/v2/eval/eval.v', decl) |
| 36 | } |
| 37 | |