Skip to content

Commit 9a70add

Browse files
committed
fix: use initialize_v8() in test_default_allocator
Fixes race condition when tests run in parallel. The test was calling V8::initialize_platform() directly which bypasses the Once guard in initialize_v8(), causing "Invalid global state" panic when another test tries to initialize V8.
1 parent fbf2971 commit 9a70add

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

build.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -822,13 +822,16 @@ fn print_prebuilt_src_binding_path() {
822822
let name = format!("src_binding{features}_{profile}_{target}.rs");
823823

824824
// Use OUT_DIR to avoid modifying source directory during cargo publish verification
825-
let out_dir = env::var("OUT_DIR").map(PathBuf::from).unwrap_or_else(|_| get_dirs().root.join("gen"));
825+
let out_dir = env::var("OUT_DIR")
826+
.map(PathBuf::from)
827+
.unwrap_or_else(|_| get_dirs().root.join("gen"));
826828
let src_binding_path = out_dir.join(name.clone());
827829

828830
if !src_binding_path.exists() {
829831
fs::create_dir_all(&out_dir).unwrap();
830832
let default_base = "https://github.com/max-lt/rusty_v8/releases/download";
831-
let base = env::var("RUSTY_V8_MIRROR").unwrap_or_else(|_| default_base.into());
833+
let base =
834+
env::var("RUSTY_V8_MIRROR").unwrap_or_else(|_| default_base.into());
832835
let version = env::var("CARGO_PKG_VERSION").unwrap();
833836
let url = format!("{base}/v{version}/{name}");
834837
download_file(&url, &src_binding_path);

src/array_buffer.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,10 +235,7 @@ fn test_rust_allocator() {
235235

236236
#[test]
237237
fn test_default_allocator() {
238-
crate::V8::initialize_platform(
239-
crate::new_default_platform(0, false).make_shared(),
240-
);
241-
crate::V8::initialize();
238+
crate::initialize_v8();
242239
new_default_allocator();
243240
}
244241

0 commit comments

Comments
 (0)