v2 / vlib / v / util / check_dflags_test.v
81 lines · 67 sloc · 2.38 KB · d398402707ab2298a12fbeabefe274eba5b1c2cd
Raw
1module main
2
3#flag -DCNUMBER1=$d('N',1231)
4#flag -DCNUMBER2=$d('N', 1232)
5#flag -DCNUMBER3=$d('N',1233 )
6#flag -DCNUMBER4=$d('N', 1234 )
7#flag -DCNUMBER5=$d('N', 1235 )
8#flag -DCNUMBER6=$d('N',1236) ##
9
10fn test_if_compilation_with_custom_cflags_works_numbers_simple() {
11 assert C.CNUMBER1 == 1231
12 assert C.CNUMBER2 == 1232
13 assert C.CNUMBER3 == 1233
14 assert C.CNUMBER4 == 1234
15 assert C.CNUMBER5 == 1235
16 assert C.CNUMBER6 == 1236
17}
18
19#flag -DCNUMBERS1=$d('N',123)+$d('N',123)
20#flag -DCNUMBERS2=$d('N', 123)-$d('N', 123)
21#flag -DCNUMBERS3=$d('N',123 )*$d('N',123 )
22#flag -DCNUMBERS4=$d('N', 123 )/$d('N', 123 )
23#flag -DCNUMBERS5=$d('N', 123 )+2*$d('N', 123 )
24#flag -DCNUMBERS6=$d('N',123)+1000*$d('N',123) ##
25
26fn test_if_compilation_with_custom_cflags_works_numbers_composed_arithmetic() {
27 assert C.CNUMBERS1 == 246
28 assert C.CNUMBERS2 == 0
29 assert C.CNUMBERS3 == 15129
30 assert C.CNUMBERS4 == 1
31 assert C.CNUMBERS5 == 369
32 assert C.CNUMBERS6 == 123123
33}
34
35@[export: 'check_dflags_fn']
36pub fn check_dflags_fn() {}
37
38#flag -DFNAME0=$d('A1','"check_dflags_fn"')
39#flag -DFNAME1=$d('A1','"check_d')$d('A2','flags_fn"')
40#flag -DFNAME2=$d('A1', 'check_d')$d('A2','flags_fn')
41#flag -DFNAME3=$d('A1','check_dfl' )$d('A2','ags_fn')
42#flag -DFNAME4=$d('A1', 'check_dfla' )$d('A2','gs_fn')
43#flag -DFNAME5=$d('A1', 'check_dflag' )$d('A2','s_fn') ##
44
45fn test_custom_flags_with_composed_strings() {
46 assert voidptr(C.FNAME0) == voidptr(C.check_dflags_fn)
47 assert voidptr(C.FNAME1) == voidptr(C.check_dflags_fn)
48 assert voidptr(C.FNAME2) == voidptr(C.check_dflags_fn)
49 assert voidptr(C.FNAME3) == voidptr(C.check_dflags_fn)
50 assert voidptr(C.FNAME4) == voidptr(C.check_dflags_fn)
51 assert voidptr(C.FNAME5) == voidptr(C.check_dflags_fn)
52}
53
54#flag -DCMIXED1=$d('A1','mixed')_$d('A2',1)
55#flag -DCMIXED2=$d('A1', 'mixed')_$d('A2',2 )
56#flag -DCMIXED3=$d('A1','mixed' )_$d('A2', 3)
57#flag -DCMIXED4=$d('A1', 'mixed' )_$d('A2', 4 )
58#flag -DCMIXED55=$d('A1', 'mixed' )_$d('A2',55) ##
59
60@[export: 'mixed_1']
61pub fn f1() {}
62
63@[export: 'mixed_2']
64pub fn f2() {}
65
66@[export: 'mixed_3']
67pub fn f3() {}
68
69@[export: 'mixed_4']
70pub fn f4() {}
71
72@[export: 'mixed_55']
73pub fn f55() {}
74
75fn test_custom_flags_that_are_a_mix() {
76 assert voidptr(C.CMIXED1) == voidptr(C.mixed_1)
77 assert voidptr(C.CMIXED2) == voidptr(C.mixed_2)
78 assert voidptr(C.CMIXED3) == voidptr(C.mixed_3)
79 assert voidptr(C.CMIXED4) == voidptr(C.mixed_4)
80 assert voidptr(C.CMIXED55) == voidptr(C.mixed_55)
81}
82