tracers_libstapsdt_sys/
lib.rs1#![allow(clippy::all)]
2#![allow(non_upper_case_globals)]
3#![allow(non_camel_case_types)]
4#![allow(non_snake_case)]
5
6#[cfg(enabled)] include!("libstapsdt.rs");
8
9#[cfg(enabled)]
10#[cfg(test)]
11mod tests {
12 use super::*;
13
14 use std::ffi::CString;
15 use std::os::raw::*;
16
17 #[test]
18 fn smoke_test() {
19 unsafe {
20 let provider = providerInit(CString::new("foo").unwrap().as_ptr());
21 assert!(!provider.is_null());
22
23 let probe1 = providerAddProbe(provider, CString::new("probe1").unwrap().as_ptr(), 0);
24 assert!(!probe1.is_null());
25
26 let probe2 = providerAddProbe(
27 provider,
28 CString::new("probe2").unwrap().as_ptr(),
29 6,
30 ArgType_t_uint64,
31 ArgType_t_uint16,
32 ArgType_t_uint32,
33 ArgType_t_uint8,
34 ArgType_t_int64,
35 ArgType_t_int32,
36 );
37 assert!(!probe2.is_null());
38
39 assert_eq!(0, probeIsEnabled(probe1));
41 assert_eq!(0, probeIsEnabled(probe2));
42
43 assert_eq!(0, providerLoad(provider));
44
45 for _ in 0..100 {
46 probeFire(probe1);
47 probeFire(
48 probe2,
49 6 as c_ulonglong,
50 7 as c_ushort as c_uint, 8 as c_ulong,
52 9 as c_uchar as c_uint, -10 as c_longlong,
54 -11 as c_long,
55 );
56 }
57
58 assert_eq!(0, providerUnload(provider));
59
60 providerDestroy(provider);
61 }
62 }
63}