0
0
Fork 0
mirror of https://github.com/denoland/rusty_v8.git synced 2024-12-27 01:29:19 -05:00
denoland-rusty-v8/tests/test_concurrent_isolate_creation_and_disposal.rs
github-actions[bot] b91d363d2f
Rolling to V8 10.0.139.6 (#915)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2022-03-09 14:41:46 +01:00

32 lines
732 B
Rust

// This is flaky on cross (QEMU bug)
// but otherwise works fine on real device.
#![cfg(not(target_os = "android"))]
use std::iter::repeat_with;
use std::thread;
#[test]
fn concurrent_isolate_creation_and_disposal() {
let platform = v8::new_single_threaded_default_platform(false).make_shared();
v8::V8::initialize_platform(platform);
v8::V8::initialize();
for round in 0..1000 {
eprintln!("round {}", round);
let threads = repeat_with(|| {
thread::spawn(|| {
v8::Isolate::new(Default::default());
})
})
.take(16)
.collect::<Vec<_>>();
for join_handle in threads {
join_handle.join().unwrap();
}
}
unsafe { v8::V8::dispose() };
v8::V8::dispose_platform();
}