extern crate rust_jni;
#[cfg(test)]
mod create_envs {
use rust_jni::*;
use std::sync::Arc;
#[test]
fn test() {
let init_arguments = InitArguments::get_default(JniVersion::V8).unwrap();
let vm = Arc::new(JavaVM::create(&init_arguments).unwrap());
let env = vm.attach(&AttachArguments::new(&init_arguments)).unwrap();
unsafe { assert_eq!(env.raw_jvm(), vm.raw_jvm()) };
let child1 = {
let vm = vm.clone();
let attach_arguments = AttachArguments::new(&init_arguments);
::std::thread::spawn(move || {
let _ = vm.attach(&attach_arguments).unwrap();
})
};
let child2 = {
let vm = vm.clone();
let attach_arguments = AttachArguments::new(&init_arguments);
::std::thread::spawn(move || {
let _ = vm.attach(&attach_arguments).unwrap();
})
};
child1.join().unwrap();
child2.join().unwrap();
}
}