diff options
-rw-r--r-- | src/isolate.rs | 28 | ||||
-rw-r--r-- | src/main.rs | 7 |
2 files changed, 27 insertions, 8 deletions
diff --git a/src/isolate.rs b/src/isolate.rs index 6e8b1864d..ccfb3453c 100644 --- a/src/isolate.rs +++ b/src/isolate.rs @@ -10,7 +10,6 @@ use errors::DenoResult; use flags; use libdeno; use permissions::DenoPermissions; -use snapshot; use futures::Future; use libc::c_void; @@ -130,6 +129,7 @@ fn empty() -> libdeno::deno_buf { impl Isolate { pub fn new( + snapshot: libdeno::deno_buf, flags: flags::DenoFlags, argv_rest: Vec<String>, dispatch: Dispatch, @@ -138,9 +138,8 @@ impl Isolate { unsafe { libdeno::deno_init() }; }); let shared = empty(); // TODO Use shared for message passing. - let libdeno_isolate = unsafe { - libdeno::deno_new(snapshot::deno_snapshot(), shared, pre_dispatch) - }; + let libdeno_isolate = + unsafe { libdeno::deno_new(snapshot, shared, pre_dispatch) }; // This channel handles sending async messages back to the runtime. let (tx, rx) = mpsc::channel::<(i32, Buf)>(); @@ -389,12 +388,15 @@ fn recv_deadline<T>( mod tests { use super::*; use futures; + use snapshot; #[test] fn test_dispatch_sync() { let argv = vec![String::from("./deno"), String::from("hello.js")]; let (flags, rest_argv, _) = flags::set_flags(argv).unwrap(); - let mut isolate = Isolate::new(flags, rest_argv, dispatch_sync); + // TODO Don't use deno_snapshot for these tests. + let mut isolate = + Isolate::new(snapshot::deno_snapshot(), flags, rest_argv, dispatch_sync); tokio_util::init(|| { isolate .execute( @@ -434,7 +436,13 @@ mod tests { fn test_metrics_sync() { let argv = vec![String::from("./deno"), String::from("hello.js")]; let (flags, rest_argv, _) = flags::set_flags(argv).unwrap(); - let mut isolate = Isolate::new(flags, rest_argv, metrics_dispatch_sync); + // TODO Don't use deno_snapshot for these tests. + let mut isolate = Isolate::new( + snapshot::deno_snapshot(), + flags, + rest_argv, + metrics_dispatch_sync, + ); tokio_util::init(|| { // Verify that metrics have been properly initialized. { @@ -469,7 +477,13 @@ mod tests { fn test_metrics_async() { let argv = vec![String::from("./deno"), String::from("hello.js")]; let (flags, rest_argv, _) = flags::set_flags(argv).unwrap(); - let mut isolate = Isolate::new(flags, rest_argv, metrics_dispatch_async); + // TODO Don't use deno_snapshot for these tests. + let mut isolate = Isolate::new( + snapshot::deno_snapshot(), + flags, + rest_argv, + metrics_dispatch_async, + ); tokio_util::init(|| { // Verify that metrics have been properly initialized. { diff --git a/src/main.rs b/src/main.rs index 6530c37fc..b05a41642 100644 --- a/src/main.rs +++ b/src/main.rs @@ -95,7 +95,12 @@ fn main() { log::LevelFilter::Info }); - let mut isolate = isolate::Isolate::new(flags, rest_argv, ops::dispatch); + let mut isolate = isolate::Isolate::new( + snapshot::deno_snapshot(), + flags, + rest_argv, + ops::dispatch, + ); tokio_util::init(|| { isolate .execute("deno_main.js", "denoMain();") |