| Index: lib/src/runner/loader.dart
|
| diff --git a/lib/src/runner/loader.dart b/lib/src/runner/loader.dart
|
| index b4354fc7a842ef96c7b455d979e892a809946bb5..0b6c83815caca7dab9e904feb4b8fbaabec9228e 100644
|
| --- a/lib/src/runner/loader.dart
|
| +++ b/lib/src/runner/loader.dart
|
| @@ -9,13 +9,13 @@ import 'dart:io';
|
| import 'dart:isolate';
|
|
|
| import 'package:analyzer/analyzer.dart';
|
| +import 'package:async/async.dart';
|
| import 'package:path/path.dart' as p;
|
| import 'package:stack_trace/stack_trace.dart';
|
|
|
| import '../backend/invoker.dart';
|
| import '../backend/metadata.dart';
|
| import '../backend/test_platform.dart';
|
| -import '../util/async_thunk.dart';
|
| import '../util/dart.dart' as dart;
|
| import '../util/io.dart';
|
| import '../util/remote_exception.dart';
|
| @@ -60,7 +60,7 @@ class Loader {
|
| ///
|
| /// This is lazily initialized the first time it's accessed.
|
| Future<BrowserServer> get _browserServer {
|
| - return _browserServerThunk.run(() {
|
| + return _browserServerMemo.runOnce(() {
|
| return BrowserServer.start(
|
| root: _root,
|
| packageRoot: _packageRoot,
|
| @@ -69,10 +69,10 @@ class Loader {
|
| jsTrace: _jsTrace);
|
| });
|
| }
|
| - final _browserServerThunk = new AsyncThunk<BrowserServer>();
|
| + final _browserServerMemo = new AsyncMemoizer<BrowserServer>();
|
|
|
| - /// The thunk for running [close] exactly once.
|
| - final _closeThunk = new AsyncThunk();
|
| + /// The memoizer for running [close] exactly once.
|
| + final _closeMemo = new AsyncMemoizer();
|
|
|
| /// Creates a new loader.
|
| ///
|
| @@ -280,11 +280,11 @@ void main(_, Map message) {
|
|
|
| /// Closes the loader and releases all resources allocated by it.
|
| Future close() {
|
| - return _closeThunk.run(() async {
|
| + return _closeMemo.runOnce(() async {
|
| await Future.wait(_suites.map((suite) => suite.close()));
|
| _suites.clear();
|
|
|
| - if (!_browserServerThunk.hasRun) return;
|
| + if (!_browserServerMemo.hasRun) return;
|
| await (await _browserServer).close();
|
| });
|
| }
|
|
|