1 #![cfg(feature = "invocation")] 2 3 mod util; 4 use util::{attach_current_thread, call_java_abs, jvm}; 5 6 #[test] thread_attach_guard_detaches_on_drop()7fn thread_attach_guard_detaches_on_drop() { 8 assert_eq!(jvm().threads_attached(), 0); 9 { 10 let mut guard = attach_current_thread(); 11 assert_eq!(jvm().threads_attached(), 1); 12 let val = call_java_abs(&mut guard, -1); 13 assert_eq!(val, 1); 14 } 15 assert_eq!(jvm().threads_attached(), 0); 16 // Verify that this thread is really detached. 17 assert!(jvm().get_env().is_err()); 18 } 19