| 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 // OtherResources=http_client_stays_alive_test.dart | 5 // OtherResources=http_client_stays_alive_test.dart |
| 6 | 6 |
| 7 import 'dart:io'; | 7 import 'dart:io'; |
| 8 | 8 |
| 9 import "package:async_helper/async_helper.dart"; | 9 import "package:async_helper/async_helper.dart"; |
| 10 | 10 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 Process.run(Platform.executable, arguments).then((res) { | 47 Process.run(Platform.executable, arguments).then((res) { |
| 48 subscription.cancel(); | 48 subscription.cancel(); |
| 49 if (res.exitCode != 0) { | 49 if (res.exitCode != 0) { |
| 50 throw "Child exited with ${res.exitCode} instead of 0. " | 50 throw "Child exited with ${res.exitCode} instead of 0. " |
| 51 "(stdout: ${res.stdout}, stderr: ${res.stderr})"; | 51 "(stdout: ${res.stdout}, stderr: ${res.stderr})"; |
| 52 } | 52 } |
| 53 var seconds = sw.elapsed.inSeconds; | 53 var seconds = sw.elapsed.inSeconds; |
| 54 // NOTE: There is a slight chance this will cause flakiness, but there is | 54 // NOTE: There is a slight chance this will cause flakiness, but there is |
| 55 // no other good way of testing correctness of timing-dependent code | 55 // no other good way of testing correctness of timing-dependent code |
| 56 // form the outside. | 56 // form the outside. |
| 57 if (seconds < SECONDS || (SECONDS + 10) < seconds) { | 57 if (seconds < SECONDS || (SECONDS + 30) < seconds) { |
| 58 throw "Child did exit within $seconds seconds, but expected it to take " | 58 throw "Child did exit within $seconds seconds, but expected it to take " |
| 59 "roughly $SECONDS seconds."; | 59 "roughly $SECONDS seconds."; |
| 60 } | 60 } |
| 61 | 61 |
| 62 asyncEnd(); | 62 asyncEnd(); |
| 63 }); | 63 }); |
| 64 }); | 64 }); |
| 65 } | 65 } |
| 66 | 66 |
| 67 void runClientProcess(String url) { | 67 void runClientProcess(String url) { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 78 .then((_) => print('drained client request')); | 78 .then((_) => print('drained client request')); |
| 79 } | 79 } |
| 80 | 80 |
| 81 void main(List<String> args) { | 81 void main(List<String> args) { |
| 82 if (args.length == 1) { | 82 if (args.length == 1) { |
| 83 runClientProcess(args.first); | 83 runClientProcess(args.first); |
| 84 } else { | 84 } else { |
| 85 runServerProcess(); | 85 runServerProcess(); |
| 86 } | 86 } |
| 87 } | 87 } |
| OLD | NEW |