Index: runtime/vm/unit_test.cc |
diff --git a/runtime/vm/unit_test.cc b/runtime/vm/unit_test.cc |
index 05d8d3f6b09a940491cf60362e62a0eff7d3fda7..03eaaa3d9812d9d5effd6c1fa6676c903438c8c1 100644 |
--- a/runtime/vm/unit_test.cc |
+++ b/runtime/vm/unit_test.cc |
@@ -8,8 +8,10 @@ |
#include "bin/builtin.h" |
#include "bin/dartutils.h" |
+#include "bin/isolate_data.h" |
#include "platform/globals.h" |
+ |
#include "vm/assembler.h" |
#include "vm/ast_printer.h" |
#include "vm/compiler.h" |
@@ -49,6 +51,21 @@ void TestCaseBase::RunAll() { |
} |
} |
+ |
+Dart_Isolate TestCase::CreateIsolate(const uint8_t* buffer, const char* name) { |
+ bin::IsolateData* isolate_data = new bin::IsolateData(name, NULL, NULL); |
+ char* err; |
+ Dart_Isolate isolate = Dart_CreateIsolate( |
+ name, NULL, buffer, NULL, isolate_data, &err); |
+ if (isolate == NULL) { |
+ OS::Print("Creation of isolate failed '%s'\n", err); |
+ free(err); |
+ } |
+ EXPECT(isolate != NULL); |
+ return isolate; |
+} |
+ |
+ |
static const char* kPackageScheme = "package:"; |
static bool IsPackageSchemeURL(const char* url_name) { |
@@ -56,12 +73,11 @@ static bool IsPackageSchemeURL(const char* url_name) { |
return (strncmp(url_name, kPackageScheme, kPackageSchemeLen) == 0); |
} |
-static Dart_Handle ResolvePackageUri(Dart_Handle builtin_lib, |
- const char* uri_chars) { |
+static Dart_Handle ResolvePackageUri(const char* uri_chars) { |
const int kNumArgs = 1; |
Dart_Handle dart_args[kNumArgs]; |
dart_args[0] = DartUtils::NewString(uri_chars); |
- return Dart_Invoke(builtin_lib, |
+ return Dart_Invoke(DartUtils::BuiltinLib(), |
DartUtils::NewString("_filePathFromUri"), |
kNumArgs, |
dart_args); |
@@ -88,10 +104,6 @@ static Dart_Handle LibraryTagHandler(Dart_LibraryTag tag, |
return result; |
} |
- Dart_Handle builtin_lib = |
- Builtin::LoadAndCheckLibrary(Builtin::kBuiltinLibrary); |
- DART_CHECK_VALID(builtin_lib); |
- |
bool is_dart_scheme_url = DartUtils::IsDartSchemeURL(url_chars); |
bool is_io_library = DartUtils::IsDartIOLibURL(library_url_string); |
if (tag == Dart_kCanonicalizeUrl) { |
@@ -105,7 +117,7 @@ static Dart_Handle LibraryTagHandler(Dart_LibraryTag tag, |
if (Dart_IsError(library_url)) { |
return library_url; |
} |
- return DartUtils::ResolveUri(library_url, url, builtin_lib); |
+ return DartUtils::ResolveUri(library_url, url); |
} |
if (is_dart_scheme_url) { |
ASSERT(tag == Dart_kImportTag); |
@@ -113,7 +125,7 @@ static Dart_Handle LibraryTagHandler(Dart_LibraryTag tag, |
if (DartUtils::IsDartIOLibURL(url_chars)) { |
return Builtin::LoadAndCheckLibrary(Builtin::kIOLibrary); |
} else if (DartUtils::IsDartBuiltinLibURL(url_chars)) { |
- return builtin_lib; |
+ return Builtin::LoadAndCheckLibrary(Builtin::kBuiltinLibrary); |
} else { |
return DartUtils::NewError("Do not know how to load '%s'", url_chars); |
} |
@@ -127,7 +139,7 @@ static Dart_Handle LibraryTagHandler(Dart_LibraryTag tag, |
0, 0); |
} |
if (IsPackageSchemeURL(url_chars)) { |
- Dart_Handle resolved_uri = ResolvePackageUri(builtin_lib, url_chars); |
+ Dart_Handle resolved_uri = ResolvePackageUri(url_chars); |
DART_CHECK_VALID(resolved_uri); |
url_chars = NULL; |
Dart_Handle result = Dart_StringToCString(resolved_uri, &url_chars); |