| OLD | NEW |
| 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 import 'dart:async'; | 5 import 'dart:async'; |
| 6 import 'dart:collection'; | 6 import 'dart:collection'; |
| 7 | 7 |
| 8 import 'package:async/async.dart' hide Result; | 8 import 'package:async/async.dart' hide Result; |
| 9 import 'package:collection/collection.dart'; | 9 import 'package:collection/collection.dart'; |
| 10 import 'package:pool/pool.dart'; | 10 import 'package:pool/pool.dart'; |
| 11 | 11 |
| 12 import '../backend/group.dart'; | 12 import '../backend/group.dart'; |
| 13 import '../backend/group_entry.dart'; |
| 13 import '../backend/invoker.dart'; | 14 import '../backend/invoker.dart'; |
| 14 import '../backend/live_test.dart'; | 15 import '../backend/live_test.dart'; |
| 15 import '../backend/live_test_controller.dart'; | 16 import '../backend/live_test_controller.dart'; |
| 16 import '../backend/state.dart'; | 17 import '../backend/state.dart'; |
| 17 import '../backend/group_entry.dart'; | |
| 18 import '../backend/test.dart'; | 18 import '../backend/test.dart'; |
| 19 import 'load_suite.dart'; | 19 import 'load_suite.dart'; |
| 20 import 'runner_suite.dart'; | 20 import 'runner_suite.dart'; |
| 21 | 21 |
| 22 /// An [Engine] manages a run that encompasses multiple test suites. | 22 /// An [Engine] manages a run that encompasses multiple test suites. |
| 23 /// | 23 /// |
| 24 /// Test suites are provided by passing them into [suiteSink]. Once all suites | 24 /// Test suites are provided by passing them into [suiteSink]. Once all suites |
| 25 /// have been provided, the user should close [suiteSink] to indicate this. | 25 /// have been provided, the user should close [suiteSink] to indicate this. |
| 26 /// [run] won't terminate until [suiteSink] is closed. Suites will be run in the | 26 /// [run] won't terminate until [suiteSink] is closed. Suites will be run in the |
| 27 /// order they're provided to [suiteSink]. Tests within those suites will | 27 /// order they're provided to [suiteSink]. Tests within those suites will |
| (...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 var futures = allLiveTests.map((liveTest) => liveTest.close()).toList(); | 448 var futures = allLiveTests.map((liveTest) => liveTest.close()).toList(); |
| 449 | 449 |
| 450 // Closing the load pool will close the test suites as soon as their tests | 450 // Closing the load pool will close the test suites as soon as their tests |
| 451 // are done. For browser suites this is effectively immediate since their | 451 // are done. For browser suites this is effectively immediate since their |
| 452 // tests shut down as soon as they're closed, but for VM suites we may need | 452 // tests shut down as soon as they're closed, but for VM suites we may need |
| 453 // to wait for tearDowns or tearDownAlls to run. | 453 // to wait for tearDowns or tearDownAlls to run. |
| 454 futures.add(_loadPool.close()); | 454 futures.add(_loadPool.close()); |
| 455 await Future.wait(futures, eagerError: true); | 455 await Future.wait(futures, eagerError: true); |
| 456 } | 456 } |
| 457 } | 457 } |
| OLD | NEW |