1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4
5include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
6
7#[cfg(test)]
8mod mlir_tests {
9 use super::*;
10 use std::ffi::CString;
11
12 #[test]
13 fn test_context() {
14 unsafe {
15 let ctx = mlirContextCreate();
16 assert!(mlirContextEqual(ctx, ctx));
17 mlirContextDestroy(ctx);
18 }
19 }
20
21 #[test]
22 fn create_string() {
23 unsafe {
24 let string = CString::new("Hello, world!").unwrap();
25
26 mlirStringRefCreateFromCString(string.as_ptr());
27 }
28 }
29
30 #[test]
31 fn test_location() {
32 unsafe {
33 let registry = mlirDialectRegistryCreate();
34 let context = mlirContextCreate();
35
36 mlirContextAppendDialectRegistry(context, registry);
37 mlirRegisterAllDialects(registry);
38
39 let location = mlirLocationUnknownGet(context);
40 let string = CString::new("newmod").unwrap();
41 let reference = mlirStringRefCreateFromCString(string.as_ptr());
42
43 mlirOperationStateGet(reference, location);
44
45 mlirContextDestroy(context);
46 mlirDialectRegistryDestroy(registry);
47 }
48 }
49}