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 |