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

Unified Diff: runtime/observatory/tests/service/issue_30555_test.dart

Issue 3011563002: Revert "Avoid to run dart code during paused_on_exit" (Closed)
Patch Set: Created 3 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/observatory/.analysis_options ('k') | runtime/vm/message_handler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/observatory/tests/service/issue_30555_test.dart
diff --git a/runtime/observatory/tests/service/issue_30555_test.dart b/runtime/observatory/tests/service/issue_30555_test.dart
deleted file mode 100644
index 72a5701385e1b1d0425099787a7575d1615e3984..0000000000000000000000000000000000000000
--- a/runtime/observatory/tests/service/issue_30555_test.dart
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-// VMOptions=--error_on_bad_type --error_on_bad_override
-
-import 'dart:async';
-import 'dart:developer';
-import 'package:observatory/models.dart' as M;
-import 'package:observatory/service_io.dart';
-import 'package:unittest/unittest.dart';
-import 'test_helper.dart';
-
-import "dart:isolate" as dart;
-
-void isolate(dart.SendPort port) {
- dart.RawReceivePort receive = new dart.RawReceivePort((_) {
- debugger();
- throw new Exception();
- });
- port.send(receive.sendPort);
-}
-
-void test() {
- dart.RawReceivePort receive = new dart.RawReceivePort((port) {
- debugger();
- port.send(null);
- debugger();
- port.send(null);
- debugger();
- });
- dart.Isolate.spawn(isolate, receive.sendPort);
-}
-
-var tests = [
- (VM vm) async {
- await vm.load();
- int step = 0;
- var completer = new Completer();
- var sub;
- sub = await vm.listenEventStream("Debug", (ServiceEvent c) {
- switch (step) {
- case 0:
- if (c.kind == "PauseStart") {
- // We have intercepted the first isolate pause on start.
- // So the isolate was loading during initialization.
- // We will resume here.
- vm.isolates[0].resume();
- return;
- }
- expect(c.kind, equals("Resume"),
- reason: "First isolate should resume");
- expect(c.isolate.id, equals(vm.isolates[0].id),
- reason: "First isolate should resume");
- break;
- case 1:
- expect(c.kind, equals("PauseStart"),
- reason: "Second isolate should pause on start");
- expect(c.isolate.id, equals(vm.isolates[1].id),
- reason: "Second isolate should pause on start");
- vm.isolates[1].resume();
- break;
- case 2:
- expect(c.kind, equals("Resume"),
- reason: "Second isolate should resume");
- expect(c.isolate.id, equals(vm.isolates[1].id),
- reason: "Second isolate should resume");
- break;
- case 3:
- expect(c.kind, equals("PauseBreakpoint"),
- reason: "First isolate should stop at debugger()");
- expect(c.isolate.id, equals(vm.isolates[0].id),
- reason: "First isolate should stop at debugger()");
- vm.isolates[0].resume();
- break;
- case 4:
- expect(c.kind, equals("Resume"),
- reason: "First isolate should resume (1)");
- expect(c.isolate.id, equals(vm.isolates[0].id),
- reason: "First isolate should resume (1)");
- break;
- case 5:
- expect(c.kind, equals("PauseBreakpoint"),
- reason: "First & Second isolate should stop at debugger()");
- break;
- case 6:
- expect(c.kind, equals("PauseBreakpoint"),
- reason: "First & Second isolate should stop at debugger()");
- vm.isolates[1].resume();
- break;
- case 7:
- expect(c.kind, equals("Resume"),
- reason: "Second isolate should resume before the exception");
- expect(c.isolate.id, equals(vm.isolates[1].id),
- reason: "Second isolate should resume before the exception");
- break;
- case 8:
- expect(c.kind, equals("PauseExit"),
- reason: "Second isolate should exit at the exception");
- expect(c.isolate.id, equals(vm.isolates[1].id),
- reason: "Second isolate should exit at the exception");
- vm.isolates[0].resume();
- break;
- case 9:
- expect(c.kind, equals("Resume"),
- reason: "First isolate should resume after the exception");
- expect(c.isolate.id, equals(vm.isolates[0].id),
- reason: "First isolate should resume after the exception");
- break;
- case 10:
- expect(c.kind, equals("PauseBreakpoint"),
- reason: "First isolate "
- "should stop at debugger() after exception.\n"
- "Probably the second resumed even though it was not expect "
- "to do it.");
- expect(c.isolate.id, equals(vm.isolates[0].id),
- reason: "First "
- "isolate should stop at debugger() after exception.\n"
- "Probably the second resumed even though it was not expect "
- "to do it.");
- completer.complete();
- break;
- default:
- expect(false, isTrue,
- reason: "Shouldn't get here, the second "
- "isolate resumed even though it was not expect to do it");
- break;
- }
- step++;
- });
- switch (vm.isolates[0].status) {
- case M.IsolateStatus.loading:
- // It is still loading we will resume in the stream listener.
- break;
- case M.IsolateStatus.paused:
- // It is already paused we will resume here.
- vm.isolates[0].resume();
- break;
- default:
- expect(false, isTrue,
- reason: "The first isolate should be loading or paused on start");
- }
- await completer.future;
- // We wait 1 second to account for delays in the service protocol.
- // A late message can still arrive.
- await new Future.delayed(const Duration(seconds: 1));
- // No fails, tear down the stream.
- sub.cancel();
- }
-];
-
-main(args) async => runVMTests(args, tests,
- pause_on_start: true, pause_on_exit: true, testeeConcurrent: test);
« no previous file with comments | « runtime/observatory/.analysis_options ('k') | runtime/vm/message_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698