1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]

include!(concat!(env!("OUT_DIR"), "/bindings.rs"));

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn sg_bindings_work() {
        unsafe {
            sg_init(1);
            let p: &mut usize = &mut 0;
            let general_stats = sg_get_host_info(p);

            let os_str = std::ffi::CStr::from_ptr((*general_stats).os_name)
                .to_string_lossy()
                .into_owned();

            // TODO - find a better metric to compare against
            assert_eq!(os_str, "Linux");

            sg_shutdown();
        };
    }
}