OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "platform/globals.h" | 5 #include "platform/globals.h" |
6 | 6 |
7 #include "include/dart_tools_api.h" | 7 #include "include/dart_tools_api.h" |
8 #include "vm/dart_api_impl.h" | 8 #include "vm/dart_api_impl.h" |
9 #include "vm/dart_entry.h" | 9 #include "vm/dart_entry.h" |
10 #include "vm/debugger.h" | 10 #include "vm/debugger.h" |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 " return d;\n" | 160 " return d;\n" |
161 " }\n" | 161 " }\n" |
162 "}\n" | 162 "}\n" |
163 "main() {\n" | 163 "main() {\n" |
164 " var z = new A();\n" | 164 " var z = new A();\n" |
165 " var x = z.c();\n" | 165 " var x = z.c();\n" |
166 " x();\n" | 166 " x();\n" |
167 "}"; | 167 "}"; |
168 | 168 |
169 Isolate* isolate = thread->isolate(); | 169 Isolate* isolate = thread->isolate(); |
| 170 isolate->set_is_runnable(true); |
170 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); | 171 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); |
171 EXPECT_VALID(lib); | 172 EXPECT_VALID(lib); |
172 Library& vmlib = Library::Handle(); | 173 Library& vmlib = Library::Handle(); |
173 vmlib ^= Api::UnwrapHandle(lib); | 174 vmlib ^= Api::UnwrapHandle(lib); |
174 EXPECT(!vmlib.IsNull()); | 175 EXPECT(!vmlib.IsNull()); |
175 Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL); | 176 Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL); |
176 EXPECT_VALID(result); | 177 EXPECT_VALID(result); |
177 const Class& class_a = Class::Handle(GetClass(vmlib, "A")); | 178 const Class& class_a = Class::Handle(GetClass(vmlib, "A")); |
178 EXPECT(!class_a.IsNull()); | 179 EXPECT(!class_a.IsNull()); |
179 const Function& function_c = Function::Handle(GetFunction(class_a, "c")); | 180 const Function& function_c = Function::Handle(GetFunction(class_a, "c")); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 | 267 |
267 | 268 |
268 TEST_CASE(Service_TokenStream) { | 269 TEST_CASE(Service_TokenStream) { |
269 const char* kScript = | 270 const char* kScript = |
270 "var port;\n" // Set to our mock port by C++. | 271 "var port;\n" // Set to our mock port by C++. |
271 "\n" | 272 "\n" |
272 "main() {\n" | 273 "main() {\n" |
273 "}"; | 274 "}"; |
274 | 275 |
275 Isolate* isolate = thread->isolate(); | 276 Isolate* isolate = thread->isolate(); |
276 | 277 isolate->set_is_runnable(true); |
277 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); | 278 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); |
278 EXPECT_VALID(lib); | 279 EXPECT_VALID(lib); |
279 Library& vmlib = Library::Handle(); | 280 Library& vmlib = Library::Handle(); |
280 vmlib ^= Api::UnwrapHandle(lib); | 281 vmlib ^= Api::UnwrapHandle(lib); |
281 EXPECT(!vmlib.IsNull()); | 282 EXPECT(!vmlib.IsNull()); |
282 | 283 |
283 const String& script_name = String::Handle(String::New("test-lib")); | 284 const String& script_name = String::Handle(String::New("test-lib")); |
284 EXPECT(!script_name.IsNull()); | 285 EXPECT(!script_name.IsNull()); |
285 const Script& script = Script::Handle(vmlib.LookupScript(script_name)); | 286 const Script& script = Script::Handle(vmlib.LookupScript(script_name)); |
286 EXPECT(!script.IsNull()); | 287 EXPECT(!script.IsNull()); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 " return d;\n" | 326 " return d;\n" |
326 " }\n" | 327 " }\n" |
327 "}\n" | 328 "}\n" |
328 "main() {\n" | 329 "main() {\n" |
329 " var z = new A();\n" | 330 " var z = new A();\n" |
330 " var x = z.c();\n" | 331 " var x = z.c();\n" |
331 " x();\n" | 332 " x();\n" |
332 "}"; | 333 "}"; |
333 | 334 |
334 Isolate* isolate = thread->isolate(); | 335 Isolate* isolate = thread->isolate(); |
| 336 isolate->set_is_runnable(true); |
335 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); | 337 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); |
336 EXPECT_VALID(lib); | 338 EXPECT_VALID(lib); |
337 Library& vmlib = Library::Handle(); | 339 Library& vmlib = Library::Handle(); |
338 vmlib ^= Api::UnwrapHandle(lib); | 340 vmlib ^= Api::UnwrapHandle(lib); |
339 EXPECT(!vmlib.IsNull()); | 341 EXPECT(!vmlib.IsNull()); |
340 Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL); | 342 Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL); |
341 EXPECT_VALID(result); | 343 EXPECT_VALID(result); |
342 const Class& class_a = Class::Handle(GetClass(vmlib, "A")); | 344 const Class& class_a = Class::Handle(GetClass(vmlib, "A")); |
343 EXPECT(!class_a.IsNull()); | 345 EXPECT(!class_a.IsNull()); |
344 const Function& function_c = Function::Handle(GetFunction(class_a, "c")); | 346 const Function& function_c = Function::Handle(GetFunction(class_a, "c")); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 " return d;\n" | 388 " return d;\n" |
387 " }\n" | 389 " }\n" |
388 "}\n" | 390 "}\n" |
389 "main() {\n" | 391 "main() {\n" |
390 " var z = new A();\n" | 392 " var z = new A();\n" |
391 " var x = z.c();\n" | 393 " var x = z.c();\n" |
392 " x();\n" | 394 " x();\n" |
393 "}"; | 395 "}"; |
394 | 396 |
395 Isolate* isolate = thread->isolate(); | 397 Isolate* isolate = thread->isolate(); |
| 398 isolate->set_is_runnable(true); |
396 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); | 399 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); |
397 EXPECT_VALID(lib); | 400 EXPECT_VALID(lib); |
398 Library& vmlib = Library::Handle(); | 401 Library& vmlib = Library::Handle(); |
399 vmlib ^= Api::UnwrapHandle(lib); | 402 vmlib ^= Api::UnwrapHandle(lib); |
400 EXPECT(!vmlib.IsNull()); | 403 EXPECT(!vmlib.IsNull()); |
401 Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL); | 404 Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL); |
402 EXPECT_VALID(result); | 405 EXPECT_VALID(result); |
403 const Class& class_a = Class::Handle(GetClass(vmlib, "A")); | 406 const Class& class_a = Class::Handle(GetClass(vmlib, "A")); |
404 EXPECT(!class_a.IsNull()); | 407 EXPECT(!class_a.IsNull()); |
405 const Function& function_c = Function::Handle(GetFunction(class_a, "c")); | 408 const Function& function_c = Function::Handle(GetFunction(class_a, "c")); |
(...skipping 30 matching lines...) Expand all Loading... |
436 | 439 |
437 | 440 |
438 TEST_CASE(Service_Address) { | 441 TEST_CASE(Service_Address) { |
439 const char* kScript = | 442 const char* kScript = |
440 "var port;\n" // Set to our mock port by C++. | 443 "var port;\n" // Set to our mock port by C++. |
441 "\n" | 444 "\n" |
442 "main() {\n" | 445 "main() {\n" |
443 "}"; | 446 "}"; |
444 | 447 |
445 Isolate* isolate = thread->isolate(); | 448 Isolate* isolate = thread->isolate(); |
| 449 isolate->set_is_runnable(true); |
446 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); | 450 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); |
447 EXPECT_VALID(lib); | 451 EXPECT_VALID(lib); |
448 | 452 |
449 // Build a mock message handler and wrap it in a dart port. | 453 // Build a mock message handler and wrap it in a dart port. |
450 ServiceTestMessageHandler handler; | 454 ServiceTestMessageHandler handler; |
451 Dart_Port port_id = PortMap::CreatePort(&handler); | 455 Dart_Port port_id = PortMap::CreatePort(&handler); |
452 Dart_Handle port = Api::NewHandle(thread, SendPort::New(port_id)); | 456 Dart_Handle port = Api::NewHandle(thread, SendPort::New(port_id)); |
453 EXPECT_VALID(port); | 457 EXPECT_VALID(port); |
454 EXPECT_VALID(Dart_SetField(lib, NewString("port"), port)); | 458 EXPECT_VALID(Dart_SetField(lib, NewString("port"), port)); |
455 | 459 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 const char* kScript = | 600 const char* kScript = |
597 "var port;\n" // Set to our mock port by C++. | 601 "var port;\n" // Set to our mock port by C++. |
598 "\n" | 602 "\n" |
599 "var x = 7;\n" | 603 "var x = 7;\n" |
600 "main() {\n" | 604 "main() {\n" |
601 " x = x * x;\n" | 605 " x = x * x;\n" |
602 " x = x / 13;\n" | 606 " x = x / 13;\n" |
603 "}"; | 607 "}"; |
604 | 608 |
605 Isolate* isolate = thread->isolate(); | 609 Isolate* isolate = thread->isolate(); |
| 610 isolate->set_is_runnable(true); |
606 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); | 611 Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL); |
607 EXPECT_VALID(lib); | 612 EXPECT_VALID(lib); |
608 Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL); | 613 Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL); |
609 EXPECT_VALID(result); | 614 EXPECT_VALID(result); |
610 | 615 |
611 // Build a mock message handler and wrap it in a dart port. | 616 // Build a mock message handler and wrap it in a dart port. |
612 ServiceTestMessageHandler handler; | 617 ServiceTestMessageHandler handler; |
613 Dart_Port port_id = PortMap::CreatePort(&handler); | 618 Dart_Port port_id = PortMap::CreatePort(&handler); |
614 Dart_Handle port = Api::NewHandle(thread, SendPort::New(port_id)); | 619 Dart_Handle port = Api::NewHandle(thread, SendPort::New(port_id)); |
615 EXPECT_VALID(port); | 620 EXPECT_VALID(port); |
(...skipping 17 matching lines...) Expand all Loading... |
633 Eval(lib, "[0, port, '0', '_getCpuProfile', ['tags'], ['Bogus']]"); | 638 Eval(lib, "[0, port, '0', '_getCpuProfile', ['tags'], ['Bogus']]"); |
634 Service::HandleIsolateMessage(isolate, service_msg); | 639 Service::HandleIsolateMessage(isolate, service_msg); |
635 EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); | 640 EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); |
636 // Expect error. | 641 // Expect error. |
637 EXPECT_SUBSTRING("\"error\"", handler.msg()); | 642 EXPECT_SUBSTRING("\"error\"", handler.msg()); |
638 } | 643 } |
639 | 644 |
640 #endif // !defined(TARGET_ARCH_ARM64) | 645 #endif // !defined(TARGET_ARCH_ARM64) |
641 | 646 |
642 } // namespace dart | 647 } // namespace dart |
OLD | NEW |