Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(324)

Side by Side Diff: runtime/vm/service_test.cc

Issue 514833003: Add a new Sentinel type for sentinel responses. (They are not Null). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: gen js, fix tests Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/service/protocol.md ('k') | tests/standalone/vmservice/isolate_bad_object_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 "{\"type\":\"Null\",\"id\":\"objects\\/null\"," 527 "{\"type\":\"Null\",\"id\":\"objects\\/null\","
528 "\"valueAsString\":\"null\",\"class\":", 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\":\"Sentinel\",\"id\":\"objects\\/not-initialized\","
538 "\"valueAsString\":\"<not initialized>\"}", 538 "\"valueAsString\":\"<not initialized>\"}",
539 handler.msg()); 539 handler.msg());
540 540
541 // being initialized 541 // being initialized
542 service_msg = Eval(lib, 542 service_msg = Eval(lib,
543 "[0, port, ['objects', 'being-initialized'], [], []]"); 543 "[0, port, ['objects', 'being-initialized'], [], []]");
544 Service::HandleIsolateMessage(isolate, service_msg); 544 Service::HandleIsolateMessage(isolate, service_msg);
545 handler.HandleNextMessage(); 545 handler.HandleNextMessage();
546 handler.filterMsg("vmName"); 546 handler.filterMsg("vmName");
547 EXPECT_STREQ( 547 EXPECT_STREQ(
548 "{\"type\":\"Null\",\"id\":\"objects\\/being-initialized\"," 548 "{\"type\":\"Sentinel\",\"id\":\"objects\\/being-initialized\","
549 "\"valueAsString\":\"<being initialized>\"}", 549 "\"valueAsString\":\"<being initialized>\"}",
550 handler.msg()); 550 handler.msg());
551 551
552 // optimized out 552 // optimized out
553 service_msg = Eval(lib, "[0, port, ['objects', 'optimized-out'], [], []]"); 553 service_msg = Eval(lib, "[0, port, ['objects', 'optimized-out'], [], []]");
554 Service::HandleIsolateMessage(isolate, service_msg); 554 Service::HandleIsolateMessage(isolate, service_msg);
555 handler.HandleNextMessage(); 555 handler.HandleNextMessage();
556 handler.filterMsg("vmName"); 556 handler.filterMsg("vmName");
557 EXPECT_STREQ( 557 EXPECT_STREQ(
558 "{\"type\":\"Null\",\"id\":\"objects\\/optimized-out\"," 558 "{\"type\":\"Sentinel\",\"id\":\"objects\\/optimized-out\","
559 "\"valueAsString\":\"<optimized out>\"}", 559 "\"valueAsString\":\"<optimized out>\"}",
560 handler.msg()); 560 handler.msg());
561 561
562 // collected 562 // collected
563 service_msg = Eval(lib, "[0, port, ['objects', 'collected'], [], []]"); 563 service_msg = Eval(lib, "[0, port, ['objects', 'collected'], [], []]");
564 Service::HandleIsolateMessage(isolate, service_msg); 564 Service::HandleIsolateMessage(isolate, service_msg);
565 handler.HandleNextMessage(); 565 handler.HandleNextMessage();
566 handler.filterMsg("vmName"); 566 handler.filterMsg("vmName");
567 EXPECT_STREQ( 567 EXPECT_STREQ(
568 "{\"type\":\"Null\",\"id\":\"objects\\/collected\"," 568 "{\"type\":\"Sentinel\",\"id\":\"objects\\/collected\","
569 "\"valueAsString\":\"<collected>\"}", 569 "\"valueAsString\":\"<collected>\"}",
570 handler.msg()); 570 handler.msg());
571 571
572 // expired 572 // expired
573 service_msg = Eval(lib, "[0, port, ['objects', 'expired'], [], []]"); 573 service_msg = Eval(lib, "[0, port, ['objects', 'expired'], [], []]");
574 Service::HandleIsolateMessage(isolate, service_msg); 574 Service::HandleIsolateMessage(isolate, service_msg);
575 handler.HandleNextMessage(); 575 handler.HandleNextMessage();
576 handler.filterMsg("vmName"); 576 handler.filterMsg("vmName");
577 EXPECT_STREQ( 577 EXPECT_STREQ(
578 "{\"type\":\"Null\",\"id\":\"objects\\/expired\"," 578 "{\"type\":\"Sentinel\",\"id\":\"objects\\/expired\","
579 "\"valueAsString\":\"<expired>\"}", 579 "\"valueAsString\":\"<expired>\"}",
580 handler.msg()); 580 handler.msg());
581 581
582 // bool 582 // bool
583 service_msg = Eval(lib, "[0, port, ['objects', 'bool-true'], [], []]"); 583 service_msg = Eval(lib, "[0, port, ['objects', 'bool-true'], [], []]");
584 Service::HandleIsolateMessage(isolate, service_msg); 584 Service::HandleIsolateMessage(isolate, service_msg);
585 handler.HandleNextMessage(); 585 handler.HandleNextMessage();
586 handler.filterMsg("vmName"); 586 handler.filterMsg("vmName");
587 EXPECT_STREQ( 587 EXPECT_STREQ(
588 "{\"type\":\"Bool\",\"id\":\"objects\\/bool-true\"," 588 "{\"type\":\"Bool\",\"id\":\"objects\\/bool-true\","
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 "\"class\":{\"type\":\"@Class\",\"name\":\"_OneByteString\",}," 622 "\"class\":{\"type\":\"@Class\",\"name\":\"_OneByteString\",},"
623 "\"valueAsString\":\"\\\"value\\\"\"}}]}", 623 "\"valueAsString\":\"\\\"value\\\"\"}}]}",
624 handler.msg()); 624 handler.msg());
625 625
626 // object id ring / invalid => expired 626 // object id ring / invalid => expired
627 service_msg = Eval(lib, "[0, port, ['objects', '99999999'], [], []]"); 627 service_msg = Eval(lib, "[0, port, ['objects', '99999999'], [], []]");
628 Service::HandleIsolateMessage(isolate, service_msg); 628 Service::HandleIsolateMessage(isolate, service_msg);
629 handler.HandleNextMessage(); 629 handler.HandleNextMessage();
630 handler.filterMsg("vmName"); 630 handler.filterMsg("vmName");
631 EXPECT_STREQ( 631 EXPECT_STREQ(
632 "{\"type\":\"Null\",\"id\":\"objects\\/expired\"," 632 "{\"type\":\"Sentinel\",\"id\":\"objects\\/expired\","
633 "\"valueAsString\":\"<expired>\"}", 633 "\"valueAsString\":\"<expired>\"}",
634 handler.msg()); 634 handler.msg());
635 635
636 // expired/eval => error 636 // expired/eval => error
637 service_msg = Eval(lib, "[0, port, ['objects', 'expired', 'eval'], [], []]"); 637 service_msg = Eval(lib, "[0, port, ['objects', 'expired', 'eval'], [], []]");
638 Service::HandleIsolateMessage(isolate, service_msg); 638 Service::HandleIsolateMessage(isolate, service_msg);
639 handler.HandleNextMessage(); 639 handler.HandleNextMessage();
640 handler.filterMsg("vmName"); 640 handler.filterMsg("vmName");
641 EXPECT_STREQ( 641 EXPECT_STREQ(
642 "{\"type\":\"Error\",\"id\":\"\"," 642 "{\"type\":\"Error\",\"id\":\"\","
(...skipping 1382 matching lines...) Expand 10 before | Expand all | Expand 10 after
2025 service_msg = Eval(lib, "[0, port, ['profile'], ['tags'], ['hidden']]"); 2025 service_msg = Eval(lib, "[0, port, ['profile'], ['tags'], ['hidden']]");
2026 Service::HandleIsolateMessage(isolate, service_msg); 2026 Service::HandleIsolateMessage(isolate, service_msg);
2027 handler.HandleNextMessage(); 2027 handler.HandleNextMessage();
2028 // Expect error. 2028 // Expect error.
2029 EXPECT_SUBSTRING("\"type\":\"Error\"", handler.msg()); 2029 EXPECT_SUBSTRING("\"type\":\"Error\"", handler.msg());
2030 } 2030 }
2031 2031
2032 #endif // !defined(TARGET_ARCH_ARM64) 2032 #endif // !defined(TARGET_ARCH_ARM64)
2033 2033
2034 } // namespace dart 2034 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/service/protocol.md ('k') | tests/standalone/vmservice/isolate_bad_object_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698