| >>> |
| void main() { |
| return new CancelableOperation.fromFuture( |
| () async { |
| // Make the underlying suite null so that the engine doesn't start running |
| // it immediately. |
| engine.suiteSink.add(loadSuite.changeSuite((runnerSuite) { |
| engine.pause(); |
| return runnerSuite; |
| })); |
| |
| var suite = await loadSuite.suite; |
| if (canceled || suite == null) return; |
| |
| debugger = new _Debugger(engine, reporter, suite); |
| await debugger.run(); |
| }(), onCancel: () { |
| canceled = true; |
| // Make sure the load test finishes so the engine can close. |
| engine.resume(); |
| if (debugger != null) debugger.close(); |
| }); |
| } |
| <<< |
| void main() { |
| return new CancelableOperation.fromFuture(() async { |
| // Make the underlying suite null so that the engine doesn't start running |
| // it immediately. |
| engine.suiteSink.add(loadSuite.changeSuite((runnerSuite) { |
| engine.pause(); |
| return runnerSuite; |
| })); |
| |
| var suite = await loadSuite.suite; |
| if (canceled || suite == null) return; |
| |
| debugger = new _Debugger(engine, reporter, suite); |
| await debugger.run(); |
| }(), onCancel: () { |
| canceled = true; |
| // Make sure the load test finishes so the engine can close. |
| engine.resume(); |
| if (debugger != null) debugger.close(); |
| }); |
| } |