| 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 553 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  564                      "['address'], ['7']]"); |  564                      "['address'], ['7']]"); | 
|  565   Service::HandleIsolateMessage(isolate, service_msg); |  565   Service::HandleIsolateMessage(isolate, service_msg); | 
|  566   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); |  566   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); | 
|  567   // TODO(turnidge): Should this be a ServiceException instead? |  567   // TODO(turnidge): Should this be a ServiceException instead? | 
|  568   EXPECT_SUBSTRING("{\"type\":\"Sentinel\",\"kind\":\"Free\"," |  568   EXPECT_SUBSTRING("{\"type\":\"Sentinel\",\"kind\":\"Free\"," | 
|  569                    "\"valueAsString\":\"<free>\"", |  569                    "\"valueAsString\":\"<free>\"", | 
|  570                handler.msg()); |  570                handler.msg()); | 
|  571 } |  571 } | 
|  572  |  572  | 
|  573  |  573  | 
|  574 static const char* alpha_callback( |  574 static bool alpha_callback( | 
|  575     const char* name, |  575     const char* name, | 
|  576     const char** option_keys, |  576     const char** option_keys, | 
|  577     const char** option_values, |  577     const char** option_values, | 
|  578     intptr_t num_options, |  578     intptr_t num_options, | 
|  579     void* user_data) { |  579     void* user_data, | 
|  580   return strdup("alpha"); |  580     const char** result) { | 
 |  581   *result = strdup("alpha"); | 
 |  582   return true; | 
|  581 } |  583 } | 
|  582  |  584  | 
|  583  |  585  | 
|  584 static const char* beta_callback( |  586 static bool beta_callback( | 
|  585     const char* name, |  587     const char* name, | 
|  586     const char** option_keys, |  588     const char** option_keys, | 
|  587     const char** option_values, |  589     const char** option_values, | 
|  588     intptr_t num_options, |  590     intptr_t num_options, | 
|  589     void* user_data) { |  591     void* user_data, | 
|  590   return strdup("beta"); |  592     const char** result) { | 
 |  593   *result = strdup("beta"); | 
 |  594   return false; | 
|  591 } |  595 } | 
|  592  |  596  | 
|  593  |  597  | 
|  594 TEST_CASE(Service_EmbedderRootHandler) { |  598 TEST_CASE(Service_EmbedderRootHandler) { | 
|  595   const char* kScript = |  599   const char* kScript = | 
|  596     "var port;\n"  // Set to our mock port by C++. |  600     "var port;\n"  // Set to our mock port by C++. | 
|  597     "\n" |  601     "\n" | 
|  598     "var x = 7;\n" |  602     "var x = 7;\n" | 
|  599     "main() {\n" |  603     "main() {\n" | 
|  600     "  x = x * x;\n" |  604     "  x = x * x;\n" | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
|  619  |  623  | 
|  620   Array& service_msg = Array::Handle(); |  624   Array& service_msg = Array::Handle(); | 
|  621   service_msg = Eval(lib, "[0, port, '\"', 'alpha', [], []]"); |  625   service_msg = Eval(lib, "[0, port, '\"', 'alpha', [], []]"); | 
|  622   Service::HandleRootMessage(service_msg); |  626   Service::HandleRootMessage(service_msg); | 
|  623   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); |  627   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); | 
|  624   EXPECT_STREQ("{\"jsonrpc\":\"2.0\", \"result\":alpha,\"id\":\"\\\"\"}", |  628   EXPECT_STREQ("{\"jsonrpc\":\"2.0\", \"result\":alpha,\"id\":\"\\\"\"}", | 
|  625                handler.msg()); |  629                handler.msg()); | 
|  626   service_msg = Eval(lib, "[0, port, 1, 'beta', [], []]"); |  630   service_msg = Eval(lib, "[0, port, 1, 'beta', [], []]"); | 
|  627   Service::HandleRootMessage(service_msg); |  631   Service::HandleRootMessage(service_msg); | 
|  628   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); |  632   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); | 
|  629   EXPECT_STREQ("{\"jsonrpc\":\"2.0\", \"result\":beta,\"id\":1}", |  633   EXPECT_STREQ("{\"jsonrpc\":\"2.0\", \"error\":beta,\"id\":1}", | 
|  630                handler.msg()); |  634                handler.msg()); | 
|  631 } |  635 } | 
|  632  |  636  | 
|  633  |  637  | 
|  634 TEST_CASE(Service_EmbedderIsolateHandler) { |  638 TEST_CASE(Service_EmbedderIsolateHandler) { | 
|  635   const char* kScript = |  639   const char* kScript = | 
|  636     "var port;\n"  // Set to our mock port by C++. |  640     "var port;\n"  // Set to our mock port by C++. | 
|  637     "\n" |  641     "\n" | 
|  638     "var x = 7;\n" |  642     "var x = 7;\n" | 
|  639     "main() {\n" |  643     "main() {\n" | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
|  659  |  663  | 
|  660   Array& service_msg = Array::Handle(); |  664   Array& service_msg = Array::Handle(); | 
|  661   service_msg = Eval(lib, "[0, port, '0', 'alpha', [], []]"); |  665   service_msg = Eval(lib, "[0, port, '0', 'alpha', [], []]"); | 
|  662   Service::HandleIsolateMessage(isolate, service_msg); |  666   Service::HandleIsolateMessage(isolate, service_msg); | 
|  663   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); |  667   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); | 
|  664   EXPECT_STREQ("{\"jsonrpc\":\"2.0\", \"result\":alpha,\"id\":\"0\"}", |  668   EXPECT_STREQ("{\"jsonrpc\":\"2.0\", \"result\":alpha,\"id\":\"0\"}", | 
|  665                handler.msg()); |  669                handler.msg()); | 
|  666   service_msg = Eval(lib, "[0, port, '0', 'beta', [], []]"); |  670   service_msg = Eval(lib, "[0, port, '0', 'beta', [], []]"); | 
|  667   Service::HandleIsolateMessage(isolate, service_msg); |  671   Service::HandleIsolateMessage(isolate, service_msg); | 
|  668   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); |  672   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); | 
|  669   EXPECT_STREQ("{\"jsonrpc\":\"2.0\", \"result\":beta,\"id\":\"0\"}", |  673   EXPECT_STREQ("{\"jsonrpc\":\"2.0\", \"error\":beta,\"id\":\"0\"}", | 
|  670                handler.msg()); |  674                handler.msg()); | 
|  671 } |  675 } | 
|  672  |  676  | 
|  673 // TODO(zra): Remove when tests are ready to enable. |  677 // TODO(zra): Remove when tests are ready to enable. | 
|  674 #if !defined(TARGET_ARCH_ARM64) |  678 #if !defined(TARGET_ARCH_ARM64) | 
|  675  |  679  | 
|  676 TEST_CASE(Service_Profile) { |  680 TEST_CASE(Service_Profile) { | 
|  677   const char* kScript = |  681   const char* kScript = | 
|  678       "var port;\n"  // Set to our mock port by C++. |  682       "var port;\n"  // Set to our mock port by C++. | 
|  679       "\n" |  683       "\n" | 
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  717   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); |  721   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage()); | 
|  718   // Expect error. |  722   // Expect error. | 
|  719   EXPECT_SUBSTRING("\"error\"", handler.msg()); |  723   EXPECT_SUBSTRING("\"error\"", handler.msg()); | 
|  720 } |  724 } | 
|  721  |  725  | 
|  722 #endif  // !defined(TARGET_ARCH_ARM64) |  726 #endif  // !defined(TARGET_ARCH_ARM64) | 
|  723  |  727  | 
|  724 #endif  // !PRODUCT |  728 #endif  // !PRODUCT | 
|  725  |  729  | 
|  726 }  // namespace dart |  730 }  // namespace dart | 
| OLD | NEW |