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

Side by Side Diff: lib/src/executable.dart

Issue 1248073003: Add a --pause-after-load flag for debugging. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Created 5 years, 5 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
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 // TODO(nweiz): This is under lib so that it can be used by the unittest dummy 5 // TODO(nweiz): This is under lib so that it can be used by the unittest dummy
6 // package. Once that package is no longer being updated, move this back into 6 // package. Once that package is no longer being updated, move this back into
7 // bin. 7 // bin.
8 library test.executable; 8 library test.executable;
9 9
10 import 'dart:io'; 10 import 'dart:io';
11 11
12 import 'package:stack_trace/stack_trace.dart'; 12 import 'package:stack_trace/stack_trace.dart';
13 import 'package:yaml/yaml.dart'; 13 import 'package:yaml/yaml.dart';
14 14
15 import 'runner.dart'; 15 import 'runner.dart';
16 import 'runner/application_exception.dart'; 16 import 'runner/application_exception.dart';
17 import 'runner/configuration.dart'; 17 import 'runner/configuration.dart';
18 import 'util/exit_codes.dart' as exit_codes; 18 import 'util/exit_codes.dart' as exit_codes;
19 import 'util/io.dart';
19 import 'utils.dart'; 20 import 'utils.dart';
20 21
21 /// A merged stream of all signals that tell the test runner to shut down 22 /// A merged stream of all signals that tell the test runner to shut down
22 /// gracefully. 23 /// gracefully.
23 /// 24 ///
24 /// Signals will only be captured as long as this has an active subscription. 25 /// Signals will only be captured as long as this has an active subscription.
25 /// Otherwise, they'll be handled by Dart's default signal handler, which 26 /// Otherwise, they'll be handled by Dart's default signal handler, which
26 /// terminates the program immediately. 27 /// terminates the program immediately.
27 final _signals = Platform.isWindows 28 final _signals = Platform.isWindows
28 ? ProcessSignal.SIGINT.watch() 29 ? ProcessSignal.SIGINT.watch()
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 return; 103 return;
103 } 104 }
104 105
105 var runner = new Runner(configuration); 106 var runner = new Runner(configuration);
106 107
107 var signalSubscription; 108 var signalSubscription;
108 close() async { 109 close() async {
109 if (signalSubscription == null) return; 110 if (signalSubscription == null) return;
110 signalSubscription.cancel(); 111 signalSubscription.cancel();
111 signalSubscription = null; 112 signalSubscription = null;
113 stdinLines.cancel(immediate: true);
112 await runner.close(); 114 await runner.close();
113 } 115 }
114 116
115 signalSubscription = _signals.listen((_) => close()); 117 signalSubscription = _signals.listen((_) => close());
116 118
117 try { 119 try {
118 exitCode = (await runner.run()) ? 0 : 1; 120 exitCode = (await runner.run()) ? 0 : 1;
119 } on ApplicationException catch (error) { 121 } on ApplicationException catch (error) {
120 stderr.writeln(error.message); 122 stderr.writeln(error.message);
121 exitCode = exit_codes.data; 123 exitCode = exit_codes.data;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 if (description is! Map) return false; 205 if (description is! Map) return false;
204 var path = description["path"]; 206 var path = description["path"];
205 if (path is! String) return false; 207 if (path is! String) return false;
206 208
207 print("$version (from $path)"); 209 print("$version (from $path)");
208 return true; 210 return true;
209 211
210 default: return false; 212 default: return false;
211 } 213 }
212 } 214 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698