1ac7cb706Sopenharmony_ciextern crate libloading; 2ac7cb706Sopenharmony_ci 3ac7cb706Sopenharmony_ci#[cfg(test)] 4ac7cb706Sopenharmony_cifn assert_send<T: Send>() {} 5ac7cb706Sopenharmony_ci#[cfg(test)] 6ac7cb706Sopenharmony_cifn assert_sync<T: Sync>() {} 7ac7cb706Sopenharmony_ci#[cfg(test)] 8ac7cb706Sopenharmony_cifn assert_display<T: std::fmt::Display>() {} 9ac7cb706Sopenharmony_ci 10ac7cb706Sopenharmony_ci#[test] 11ac7cb706Sopenharmony_cifn check_error_send() { 12ac7cb706Sopenharmony_ci assert_send::<libloading::Error>(); 13ac7cb706Sopenharmony_ci} 14ac7cb706Sopenharmony_ci 15ac7cb706Sopenharmony_ci#[test] 16ac7cb706Sopenharmony_cifn check_error_sync() { 17ac7cb706Sopenharmony_ci assert_sync::<libloading::Error>(); 18ac7cb706Sopenharmony_ci} 19ac7cb706Sopenharmony_ci 20ac7cb706Sopenharmony_ci#[test] 21ac7cb706Sopenharmony_cifn check_error_display() { 22ac7cb706Sopenharmony_ci assert_display::<libloading::Error>(); 23ac7cb706Sopenharmony_ci} 24ac7cb706Sopenharmony_ci 25ac7cb706Sopenharmony_ci#[test] 26ac7cb706Sopenharmony_cifn check_library_send() { 27ac7cb706Sopenharmony_ci assert_send::<libloading::Library>(); 28ac7cb706Sopenharmony_ci} 29ac7cb706Sopenharmony_ci 30ac7cb706Sopenharmony_ci#[cfg(unix)] 31ac7cb706Sopenharmony_ci#[test] 32ac7cb706Sopenharmony_cifn check_unix_library_send() { 33ac7cb706Sopenharmony_ci assert_send::<libloading::os::unix::Library>(); 34ac7cb706Sopenharmony_ci} 35ac7cb706Sopenharmony_ci 36ac7cb706Sopenharmony_ci#[cfg(windows)] 37ac7cb706Sopenharmony_ci#[test] 38ac7cb706Sopenharmony_cifn check_windows_library_send() { 39ac7cb706Sopenharmony_ci assert_send::<libloading::os::windows::Library>(); 40ac7cb706Sopenharmony_ci} 41ac7cb706Sopenharmony_ci 42ac7cb706Sopenharmony_ci#[test] 43ac7cb706Sopenharmony_cifn check_library_sync() { 44ac7cb706Sopenharmony_ci assert_sync::<libloading::Library>(); 45ac7cb706Sopenharmony_ci} 46ac7cb706Sopenharmony_ci 47ac7cb706Sopenharmony_ci#[cfg(unix)] 48ac7cb706Sopenharmony_ci#[test] 49ac7cb706Sopenharmony_cifn check_unix_library_sync() { 50ac7cb706Sopenharmony_ci assert_sync::<libloading::os::unix::Library>(); 51ac7cb706Sopenharmony_ci} 52ac7cb706Sopenharmony_ci 53ac7cb706Sopenharmony_ci#[cfg(windows)] 54ac7cb706Sopenharmony_ci#[test] 55ac7cb706Sopenharmony_cifn check_windows_library_sync() { 56ac7cb706Sopenharmony_ci assert_sync::<libloading::os::windows::Library>(); 57ac7cb706Sopenharmony_ci} 58ac7cb706Sopenharmony_ci 59ac7cb706Sopenharmony_ci#[test] 60ac7cb706Sopenharmony_cifn check_symbol_send() { 61ac7cb706Sopenharmony_ci assert_send::<libloading::Symbol<fn() -> ()>>(); 62ac7cb706Sopenharmony_ci // assert_not_send::<libloading::Symbol<*const ()>>(); 63ac7cb706Sopenharmony_ci} 64ac7cb706Sopenharmony_ci 65ac7cb706Sopenharmony_ci#[cfg(unix)] 66ac7cb706Sopenharmony_ci#[test] 67ac7cb706Sopenharmony_cifn check_unix_symbol_send() { 68ac7cb706Sopenharmony_ci assert_send::<libloading::os::unix::Symbol<fn() -> ()>>(); 69ac7cb706Sopenharmony_ci // assert_not_send::<libloading::os::unix::Symbol<*const ()>>(); 70ac7cb706Sopenharmony_ci} 71ac7cb706Sopenharmony_ci 72ac7cb706Sopenharmony_ci#[cfg(windows)] 73ac7cb706Sopenharmony_ci#[test] 74ac7cb706Sopenharmony_cifn check_windows_symbol_send() { 75ac7cb706Sopenharmony_ci assert_send::<libloading::os::windows::Symbol<fn() -> ()>>(); 76ac7cb706Sopenharmony_ci} 77ac7cb706Sopenharmony_ci 78ac7cb706Sopenharmony_ci#[test] 79ac7cb706Sopenharmony_cifn check_symbol_sync() { 80ac7cb706Sopenharmony_ci assert_sync::<libloading::Symbol<fn() -> ()>>(); 81ac7cb706Sopenharmony_ci // assert_not_sync::<libloading::Symbol<*const ()>>(); 82ac7cb706Sopenharmony_ci} 83ac7cb706Sopenharmony_ci 84ac7cb706Sopenharmony_ci#[cfg(unix)] 85ac7cb706Sopenharmony_ci#[test] 86ac7cb706Sopenharmony_cifn check_unix_symbol_sync() { 87ac7cb706Sopenharmony_ci assert_sync::<libloading::os::unix::Symbol<fn() -> ()>>(); 88ac7cb706Sopenharmony_ci // assert_not_sync::<libloading::os::unix::Symbol<*const ()>>(); 89ac7cb706Sopenharmony_ci} 90ac7cb706Sopenharmony_ci 91ac7cb706Sopenharmony_ci#[cfg(windows)] 92ac7cb706Sopenharmony_ci#[test] 93ac7cb706Sopenharmony_cifn check_windows_symbol_sync() { 94ac7cb706Sopenharmony_ci assert_sync::<libloading::os::windows::Symbol<fn() -> ()>>(); 95ac7cb706Sopenharmony_ci // assert_not_sync::<libloading::os::windows::Symbol<*const ()>>(); 96ac7cb706Sopenharmony_ci} 97