| 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_debugger_api.h" |     7 #include "include/dart_debugger_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 505 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   516   EXPECT_VALID(valid_id); |   516   EXPECT_VALID(valid_id); | 
|   517   EXPECT_VALID(Dart_SetField(lib, NewString("validId"), valid_id)); |   517   EXPECT_VALID(Dart_SetField(lib, NewString("validId"), valid_id)); | 
|   518  |   518  | 
|   519   Array& service_msg = Array::Handle(); |   519   Array& service_msg = Array::Handle(); | 
|   520  |   520  | 
|   521   // null |   521   // null | 
|   522   service_msg = Eval(lib, "[0, port, ['objects', 'null'], [], []]"); |   522   service_msg = Eval(lib, "[0, port, ['objects', 'null'], [], []]"); | 
|   523   Service::HandleIsolateMessage(isolate, service_msg); |   523   Service::HandleIsolateMessage(isolate, service_msg); | 
|   524   handler.HandleNextMessage(); |   524   handler.HandleNextMessage(); | 
|   525   handler.filterMsg("vmName"); |   525   handler.filterMsg("vmName"); | 
|   526   EXPECT_STREQ( |   526   EXPECT_SUBSTRING( | 
|   527       "{\"type\":\"Null\",\"id\":\"objects\\/null\"," |   527       "{\"type\":\"Null\",\"id\":\"objects\\/null\"," | 
|   528       "\"valueAsString\":\"null\"}", |   528       "\"valueAsString\":\"null\",\"class\":", | 
|   529       handler.msg()); |   529       handler.msg()); | 
|   530  |   530  | 
|   531   // not initialized |   531   // not initialized | 
|   532   service_msg = Eval(lib, "[0, port, ['objects', 'not-initialized'], [], []]"); |   532   service_msg = Eval(lib, "[0, port, ['objects', 'not-initialized'], [], []]"); | 
|   533   Service::HandleIsolateMessage(isolate, service_msg); |   533   Service::HandleIsolateMessage(isolate, service_msg); | 
|   534   handler.HandleNextMessage(); |   534   handler.HandleNextMessage(); | 
|   535   handler.filterMsg("vmName"); |   535   handler.filterMsg("vmName"); | 
|   536   EXPECT_STREQ( |   536   EXPECT_STREQ( | 
|   537       "{\"type\":\"Null\",\"id\":\"objects\\/not-initialized\"," |   537       "{\"type\":\"Null\",\"id\":\"objects\\/not-initialized\"," | 
|   538       "\"valueAsString\":\"<not initialized>\"}", |   538       "\"valueAsString\":\"<not initialized>\"}", | 
| (...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1094   Service::HandleIsolateMessage(isolate, service_msg); |  1094   Service::HandleIsolateMessage(isolate, service_msg); | 
|  1095   handler.HandleNextMessage(); |  1095   handler.HandleNextMessage(); | 
|  1096   ExpectSubstringF(handler.msg(), "\"type\":\"InstanceSet\""); |  1096   ExpectSubstringF(handler.msg(), "\"type\":\"InstanceSet\""); | 
|  1097   ExpectSubstringF(handler.msg(), "\"totalCount\":2"); |  1097   ExpectSubstringF(handler.msg(), "\"totalCount\":2"); | 
|  1098   ExpectSubstringF(handler.msg(), "\"sampleCount\":2"); |  1098   ExpectSubstringF(handler.msg(), "\"sampleCount\":2"); | 
|  1099   // TODO(koda): Actually parse the response. |  1099   // TODO(koda): Actually parse the response. | 
|  1100   static const intptr_t kInstanceListId = 0; |  1100   static const intptr_t kInstanceListId = 0; | 
|  1101   ExpectSubstringF(handler.msg(), "\"id\":\"objects\\/%" Pd "\",\"length\":2", |  1101   ExpectSubstringF(handler.msg(), "\"id\":\"objects\\/%" Pd "\",\"length\":2", | 
|  1102                    kInstanceListId); |  1102                    kInstanceListId); | 
|  1103   Array& list = Array::Handle(); |  1103   Array& list = Array::Handle(); | 
|  1104   list ^= isolate->object_id_ring()->GetObjectForId(kInstanceListId); |  1104   ObjectIdRing::LookupResult kind; | 
 |  1105   list ^= isolate->object_id_ring()->GetObjectForId(kInstanceListId, &kind); | 
|  1105   EXPECT_EQ(2, list.Length()); |  1106   EXPECT_EQ(2, list.Length()); | 
|  1106   // The list should contain {b0, b1}. |  1107   // The list should contain {b0, b1}. | 
|  1107   EXPECT((list.At(0) == b0.raw() && list.At(1) == b1.raw()) || |  1108   EXPECT((list.At(0) == b0.raw() && list.At(1) == b1.raw()) || | 
|  1108          (list.At(0) == b1.raw() && list.At(1) == b0.raw())); |  1109          (list.At(0) == b1.raw() && list.At(1) == b0.raw())); | 
|  1109   // ... and if limit is 1, we one get one of them. |  1110   // ... and if limit is 1, we one get one of them. | 
|  1110   service_msg = EvalF(lib, "[0, port, ['classes', '%" Pd "', 'instances']," |  1111   service_msg = EvalF(lib, "[0, port, ['classes', '%" Pd "', 'instances']," | 
|  1111                       "['limit'], ['1']]", class_b.id()); |  1112                       "['limit'], ['1']]", class_b.id()); | 
|  1112   Service::HandleIsolateMessage(isolate, service_msg); |  1113   Service::HandleIsolateMessage(isolate, service_msg); | 
|  1113   handler.HandleNextMessage(); |  1114   handler.HandleNextMessage(); | 
|  1114   ExpectSubstringF(handler.msg(), "\"totalCount\":2"); |  1115   ExpectSubstringF(handler.msg(), "\"totalCount\":2"); | 
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1317                 address); |  1318                 address); | 
|  1318     EXPECT_SUBSTRING(buffer, handler.msg()); |  1319     EXPECT_SUBSTRING(buffer, handler.msg()); | 
|  1319   } |  1320   } | 
|  1320  |  1321  | 
|  1321   // Request native code at address. Expect the null code object back. |  1322   // Request native code at address. Expect the null code object back. | 
|  1322   address = last; |  1323   address = last; | 
|  1323   service_msg = EvalF(lib, "[0, port, ['code', 'native-%" Px "'], [], []]", |  1324   service_msg = EvalF(lib, "[0, port, ['code', 'native-%" Px "'], [], []]", | 
|  1324                       address); |  1325                       address); | 
|  1325   Service::HandleIsolateMessage(isolate, service_msg); |  1326   Service::HandleIsolateMessage(isolate, service_msg); | 
|  1326   handler.HandleNextMessage(); |  1327   handler.HandleNextMessage(); | 
|  1327   EXPECT_STREQ("{\"type\":\"Null\",\"id\":\"objects\\/null\"," |  1328   EXPECT_SUBSTRING("{\"type\":\"Null\",\"id\":\"objects\\/null\"," | 
|  1328                "\"valueAsString\":\"null\"}", |  1329                    "\"valueAsString\":\"null\"", | 
|  1329                handler.msg()); |  1330                    handler.msg()); | 
|  1330  |  1331  | 
|  1331   // Request malformed native code. |  1332   // Request malformed native code. | 
|  1332   service_msg = EvalF(lib, "[0, port, ['code', 'native%" Px "'], [], []]", |  1333   service_msg = EvalF(lib, "[0, port, ['code', 'native%" Px "'], [], []]", | 
|  1333                       address); |  1334                       address); | 
|  1334   Service::HandleIsolateMessage(isolate, service_msg); |  1335   Service::HandleIsolateMessage(isolate, service_msg); | 
|  1335   handler.HandleNextMessage(); |  1336   handler.HandleNextMessage(); | 
|  1336   EXPECT_SUBSTRING("\"message\":\"Malformed code id:", handler.msg()); |  1337   EXPECT_SUBSTRING("\"message\":\"Malformed code id:", handler.msg()); | 
|  1337 } |  1338 } | 
|  1338  |  1339  | 
|  1339  |  1340  | 
| (...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2024   service_msg = Eval(lib, "[0, port, ['profile'], ['tags'], ['hidden']]"); |  2025   service_msg = Eval(lib, "[0, port, ['profile'], ['tags'], ['hidden']]"); | 
|  2025   Service::HandleIsolateMessage(isolate, service_msg); |  2026   Service::HandleIsolateMessage(isolate, service_msg); | 
|  2026   handler.HandleNextMessage(); |  2027   handler.HandleNextMessage(); | 
|  2027   // Expect error. |  2028   // Expect error. | 
|  2028   EXPECT_SUBSTRING("\"type\":\"Error\"", handler.msg()); |  2029   EXPECT_SUBSTRING("\"type\":\"Error\"", handler.msg()); | 
|  2029 } |  2030 } | 
|  2030  |  2031  | 
|  2031 #endif  // !defined(TARGET_ARCH_ARM64) |  2032 #endif  // !defined(TARGET_ARCH_ARM64) | 
|  2032  |  2033  | 
|  2033 }  // namespace dart |  2034 }  // namespace dart | 
| OLD | NEW |