20
20
pub fn {function_name}() -> i32 {{
21
21
return internal_function();
22
22
}}
23
- '''
24
23
25
- lib_rust_test_template = '''extern crate {crate_file};
24
+ #[cfg(test)]
25
+ mod tests {{
26
+ use super::*;
26
27
27
- fn main() {{
28
- println!("printing: {{}}", {crate_file}::{function_name}());
28
+ #[test]
29
+ fn test_function() {{
30
+ assert_eq!({function_name}(), 0);
31
+ }}
29
32
}}
30
33
'''
31
34
32
35
33
36
lib_rust_meson_template = '''project('{project_name}', 'rust',
34
- version : '{version}',
35
- default_options : ['warning_level=3'])
37
+ version : '{version}', meson_version: '>=1.3.0',
38
+ default_options : ['rust_std=2021', 'warning_level=3'])
39
+
40
+ rust = import('rust')
36
41
37
42
shlib = static_library('{lib_name}', '{source_file}', install : true)
38
43
39
- test_exe = executable('{test_exe_name}', '{test_source_file}',
40
- link_with : shlib)
41
- test('{test_name}', test_exe)
44
+ rust.test('{test_name}', shlib)
42
45
43
46
# Make this library usable as a Meson subproject.
44
47
{ltoken}_dep = declare_dependency(
54
57
'''
55
58
56
59
hello_rust_meson_template = '''project('{project_name}', 'rust',
57
- version : '{version}',
58
- default_options : ['warning_level=3'])
60
+ version : '{version}', meson_version: '>=1.3.0',
61
+ default_options : ['rust_std=2021', ' warning_level=3'])
59
62
60
63
exe = executable('{exe_name}', '{source_name}',
61
64
install : true)
@@ -70,7 +73,7 @@ class RustProject(FileImpl):
70
73
exe_template = hello_rust_template
71
74
exe_meson_template = hello_rust_meson_template
72
75
lib_template = lib_rust_template
73
- lib_test_template = lib_rust_test_template
76
+ lib_test_template = None
74
77
lib_meson_template = lib_rust_meson_template
75
78
76
79
def lib_kwargs (self ) -> T .Dict [str , str ]:
0 commit comments