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