mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 15:24:46 -05:00
f7fdb90fd5
* Moves how snapshots are supplied to the Isolate. Previously they were given by Behavior::startup_data() but it was only called once at startup. It makes more sense (and simplifies Behavior) to pass it to the constructor of Isolate. * Adds new libdeno type deno_snapshot instead of overloading deno_buf. * Adds new libdeno method to delete snapshot deno_snapshot_delete(). * Renames deno_get_snapshot() to deno_snapshot_new(). * Makes StartupData hold references to snapshots. This was implicit when it previously held a deno_buf but is made explicit now. Note that include_bytes!() returns a &'static [u8] and we want to avoid copying that.
31 lines
903 B
C++
31 lines
903 B
C++
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
|
|
#include "test.h"
|
|
#include <string>
|
|
#include "file_util.h"
|
|
|
|
deno_snapshot snapshot = {nullptr, 0};
|
|
|
|
int main(int argc, char** argv) {
|
|
// Locate the snapshot.
|
|
std::string exe_path;
|
|
if (!deno::ExePath(&exe_path)) {
|
|
std::cerr << "deno::ExePath() failed" << std::endl;
|
|
return 1;
|
|
}
|
|
std::string snapshot_path = deno::Dirname(exe_path) + SNAPSHOT_PATH;
|
|
|
|
// Load the snapshot.
|
|
std::string contents;
|
|
if (!deno::ReadFileToString(snapshot_path.c_str(), &contents)) {
|
|
std::cerr << "Failed to read snapshot from " << snapshot_path << std::endl;
|
|
return 1;
|
|
}
|
|
snapshot.data_ptr =
|
|
reinterpret_cast<uint8_t*>(const_cast<char*>(contents.c_str()));
|
|
snapshot.data_len = contents.size();
|
|
|
|
testing::InitGoogleTest(&argc, argv);
|
|
deno_init();
|
|
deno_set_v8_flags(&argc, argv);
|
|
return RUN_ALL_TESTS();
|
|
}
|