Migrate some test files to null safety (#104469)

diff --git a/packages/flutter_tools/test/general.shard/android/android_device_discovery_test.dart b/packages/flutter_tools/test/general.shard/android/android_device_discovery_test.dart
index bf04c56..1a1f94f 100644
--- a/packages/flutter_tools/test/general.shard/android/android_device_discovery_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/android_device_discovery_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:file/memory.dart';
 import 'package:flutter_tools/src/android/android_device_discovery.dart';
 import 'package:flutter_tools/src/android/android_sdk.dart';
@@ -15,11 +13,11 @@
 import 'package:test/fake.dart';
 
 import '../../src/common.dart';
-import '../../src/context.dart';
+import '../../src/fake_process_manager.dart';
 import '../../src/fakes.dart';
 
 void main() {
-  AndroidWorkflow androidWorkflow;
+  late AndroidWorkflow androidWorkflow;
 
   setUp(() {
     androidWorkflow = AndroidWorkflow(
@@ -243,5 +241,5 @@
   FakeAndroidSdk([this.adbPath = 'adb']);
 
   @override
-  final String adbPath;
+  final String? adbPath;
 }
diff --git a/packages/flutter_tools/test/general.shard/android/android_workflow_test.dart b/packages/flutter_tools/test/general.shard/android/android_workflow_test.dart
index d362251..9491850 100644
--- a/packages/flutter_tools/test/general.shard/android/android_workflow_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/android_workflow_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:file/memory.dart';
 import 'package:flutter_tools/src/android/android_sdk.dart';
 import 'package:flutter_tools/src/android/android_studio.dart';
@@ -18,15 +16,15 @@
 import 'package:test/fake.dart';
 
 import '../../src/common.dart';
-import '../../src/context.dart';
+import '../../src/fake_process_manager.dart';
 import '../../src/fakes.dart';
 
 void main() {
-  FakeAndroidSdk sdk;
-  Logger logger;
-  MemoryFileSystem fileSystem;
-  FakeProcessManager processManager;
-  FakeStdio stdio;
+  late FakeAndroidSdk sdk;
+  late Logger logger;
+  late MemoryFileSystem fileSystem;
+  late FakeProcessManager processManager;
+  late FakeStdio stdio;
 
   setUp(() {
     sdk = FakeAndroidSdk();
@@ -532,31 +530,31 @@
 
 class FakeAndroidSdk extends Fake implements AndroidSdk {
   @override
-  String sdkManagerPath;
+  String? sdkManagerPath;
 
   @override
-  String sdkManagerVersion;
+  String? sdkManagerVersion;
 
   @override
-  String adbPath;
+  String? adbPath;
 
   @override
-  bool licensesAvailable;
+  bool licensesAvailable = false;
 
   @override
-  bool platformToolsAvailable;
+  bool platformToolsAvailable = false;
 
   @override
-  bool cmdlineToolsAvailable;
+  bool cmdlineToolsAvailable = false;
 
   @override
-  Directory directory;
+  Directory directory = MemoryFileSystem.test().directory('/foo/bar');
 
   @override
-  AndroidSdkVersion latestVersion;
+  AndroidSdkVersion? latestVersion;
 
   @override
-  String emulatorPath;
+  String? emulatorPath;
 
   @override
   List<String> validateSdkWellFormed() => <String>[];
@@ -567,10 +565,10 @@
 
 class FakeAndroidSdkVersion extends Fake implements AndroidSdkVersion {
   @override
-  int sdkLevel;
+  int sdkLevel = 0;
 
   @override
-  Version buildToolsVersion;
+  Version buildToolsVersion = Version(0, 0, 0);
 
   @override
   String get buildToolsVersionName => '';
diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/desktop_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/desktop_test.dart
index f83abfa..68ae178 100644
--- a/packages/flutter_tools/test/general.shard/build_system/targets/desktop_test.dart
+++ b/packages/flutter_tools/test/general.shard/build_system/targets/desktop_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:file/memory.dart';
 import 'package:file_testing/file_testing.dart';
 import 'package:flutter_tools/src/base/file_system.dart';
diff --git a/packages/flutter_tools/test/general.shard/flutter_validator_test.dart b/packages/flutter_tools/test/general.shard/flutter_validator_test.dart
index abb7e95..484e989 100644
--- a/packages/flutter_tools/test/general.shard/flutter_validator_test.dart
+++ b/packages/flutter_tools/test/general.shard/flutter_validator_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:file/memory.dart';
 import 'package:flutter_tools/src/artifacts.dart';
 import 'package:flutter_tools/src/base/os.dart';
@@ -20,9 +18,9 @@
 
 /// Matches a doctor validation result.
 Matcher _matchDoctorValidation({
-  ValidationType validationType,
-  String statusInfo,
-  dynamic messages
+  required ValidationType validationType,
+  required String statusInfo,
+  required Object messages
 }) {
   return const TypeMatcher<ValidationResult>()
       .having((ValidationResult result) => result.type, 'type', validationType)
@@ -235,7 +233,7 @@
 }
 
 class FakeOperatingSystemUtils extends Fake implements OperatingSystemUtils {
-  FakeOperatingSystemUtils({this.name});
+  FakeOperatingSystemUtils({required this.name});
 
   @override
   final String name;
diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart
index 4a69d17..c5fce96 100644
--- a/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart
+++ b/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:file/memory.dart';
 import 'package:flutter_tools/src/artifacts.dart';
 import 'package:flutter_tools/src/base/file_system.dart';
@@ -17,7 +15,6 @@
 import 'package:flutter_tools/src/ios/ios_deploy.dart';
 import 'package:flutter_tools/src/ios/iproxy.dart';
 import 'package:flutter_tools/src/ios/mac.dart';
-import 'package:meta/meta.dart';
 
 import '../../src/common.dart';
 import '../../src/fake_process_manager.dart';
@@ -28,10 +25,10 @@
 };
 
 void main() {
-  Artifacts artifacts;
-  String iosDeployPath;
-  FileSystem fileSystem;
-  Directory bundleDirectory;
+  late Artifacts artifacts;
+  late String iosDeployPath;
+  late FileSystem fileSystem;
+  late Directory bundleDirectory;
 
   setUp(() {
     artifacts = Artifacts.test();
@@ -319,11 +316,11 @@
 }
 
 IOSDevice setUpIOSDevice({
-  @required ProcessManager processManager,
-  FileSystem fileSystem,
-  Logger logger,
-  IOSDeviceConnectionInterface interfaceType,
-  Artifacts artifacts,
+  required ProcessManager processManager,
+  FileSystem? fileSystem,
+  Logger? logger,
+  IOSDeviceConnectionInterface? interfaceType,
+  Artifacts? artifacts,
 }) {
   logger ??= BufferLogger.test();
   final FakePlatform platform = FakePlatform(
@@ -360,6 +357,6 @@
       cache: cache,
     ),
     iProxy: IProxy.test(logger: logger, processManager: processManager),
-    interfaceType: interfaceType,
+    interfaceType: interfaceType ?? IOSDeviceConnectionInterface.usb,
   );
 }
diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart
index 1ea8d69..07ea502 100644
--- a/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart
+++ b/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'dart:async';
 
 import 'package:flutter_tools/src/artifacts.dart';
@@ -24,11 +22,11 @@
 import '../../src/fake_vm_services.dart';
 
 void main() {
-  FakeProcessManager processManager;
-  Artifacts artifacts;
-  Cache fakeCache;
-  BufferLogger logger;
-  String ideviceSyslogPath;
+  late FakeProcessManager processManager;
+  late Artifacts artifacts;
+  late Cache fakeCache;
+  late BufferLogger logger;
+  late String ideviceSyslogPath;
 
   setUp(() {
     processManager = FakeProcessManager.empty();
@@ -328,8 +326,8 @@
         ),
         useSyslog: false,
       );
-      Object exception;
-      StackTrace trace;
+      Object? exception;
+      StackTrace? trace;
       await asyncGuard(
           () async {
             await logReader.linesController.close();
diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart
index 8967213..70984af 100644
--- a/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart
+++ b/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'dart:async';
 import 'dart:convert';
 
@@ -66,8 +64,8 @@
 
 // The command used to actually launch the app and attach the debugger with args in debug.
 FakeCommand attachDebuggerCommand({
-  IOSink stdin,
-  Completer<void>/*?*/ completer,
+  IOSink? stdin,
+  Completer<void>? completer,
 }) {
   return FakeCommand(
     command: const <String>[
@@ -359,10 +357,10 @@
 
 IOSDevice setUpIOSDevice({
   String sdkVersion = '13.0.1',
-  FileSystem fileSystem,
-  Logger logger,
-  ProcessManager processManager,
-  IOSDeploy iosDeploy,
+  FileSystem? fileSystem,
+  Logger? logger,
+  ProcessManager? processManager,
+  IOSDeploy? iosDeploy,
 }) {
   final Artifacts artifacts = Artifacts.test();
   final FakePlatform macPlatform = FakePlatform(
@@ -377,24 +375,24 @@
     ],
     processManager: FakeProcessManager.any(),
   );
-
+  logger ??= BufferLogger.test();
   return IOSDevice('123',
     name: 'iPhone 1',
     sdkVersion: sdkVersion,
     fileSystem: fileSystem ?? MemoryFileSystem.test(),
     platform: macPlatform,
     iProxy: IProxy.test(logger: logger, processManager: processManager ?? FakeProcessManager.any()),
-    logger: logger ?? BufferLogger.test(),
+    logger: logger,
     iosDeploy: iosDeploy ??
         IOSDeploy(
-          logger: logger ?? BufferLogger.test(),
+          logger: logger,
           platform: macPlatform,
           processManager: processManager ?? FakeProcessManager.any(),
           artifacts: artifacts,
           cache: cache,
         ),
     iMobileDevice: IMobileDevice(
-      logger: logger ?? BufferLogger.test(),
+      logger: logger,
       processManager: processManager ?? FakeProcessManager.any(),
       artifacts: artifacts,
       cache: cache,
diff --git a/packages/flutter_tools/test/general.shard/linux/linux_device_test.dart b/packages/flutter_tools/test/general.shard/linux/linux_device_test.dart
index fcf9558..22cecda 100644
--- a/packages/flutter_tools/test/general.shard/linux/linux_device_test.dart
+++ b/packages/flutter_tools/test/general.shard/linux/linux_device_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:file/memory.dart';
 import 'package:flutter_tools/src/base/file_system.dart';
 import 'package:flutter_tools/src/base/logger.dart';
diff --git a/packages/flutter_tools/test/general.shard/macos/macos_ipad_device_test.dart b/packages/flutter_tools/test/general.shard/macos/macos_ipad_device_test.dart
index 518a1ff..896303f 100644
--- a/packages/flutter_tools/test/general.shard/macos/macos_ipad_device_test.dart
+++ b/packages/flutter_tools/test/general.shard/macos/macos_ipad_device_test.dart
@@ -2,22 +2,21 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:file/memory.dart';
+import 'package:flutter_tools/src/application_package.dart';
 import 'package:flutter_tools/src/base/logger.dart';
 import 'package:flutter_tools/src/base/os.dart';
 import 'package:flutter_tools/src/base/platform.dart';
 import 'package:flutter_tools/src/build_info.dart';
 import 'package:flutter_tools/src/desktop_device.dart';
 import 'package:flutter_tools/src/device.dart';
+import 'package:flutter_tools/src/ios/application_package.dart';
 import 'package:flutter_tools/src/ios/ios_workflow.dart';
 import 'package:flutter_tools/src/macos/macos_ipad_device.dart';
-import 'package:meta/meta.dart';
 import 'package:test/fake.dart';
 
 import '../../src/common.dart';
-import '../../src/context.dart';
+import '../../src/fake_process_manager.dart';
 import '../../src/fakes.dart';
 
 void main() {
@@ -125,25 +124,34 @@
     expect(device.portForwarder, isNot(isNull));
     expect(await device.targetPlatform, TargetPlatform.darwin);
 
-    expect(await device.installApp(null), isTrue);
-    expect(await device.isAppInstalled(null), isTrue);
-    expect(await device.isLatestBuildInstalled(null), isTrue);
-    expect(await device.uninstallApp(null), isTrue);
+    expect(await device.installApp(FakeApplicationPackage()), isTrue);
+    expect(await device.isAppInstalled(FakeApplicationPackage()), isTrue);
+    expect(await device.isLatestBuildInstalled(FakeApplicationPackage()), isTrue);
+    expect(await device.uninstallApp(FakeApplicationPackage()), isTrue);
 
     expect(device.isSupported(), isTrue);
     expect(device.getLogReader(), isA<DesktopLogReader>());
 
-     expect(await device.stopApp(null), isFalse);
+     expect(await device.stopApp(FakeIOSApp()), isFalse);
 
-    await expectLater(() => device.startApp(null, debuggingOptions: null), throwsA(isA<UnimplementedError>()));
-    await expectLater(() => device.buildForDevice(null, buildInfo: BuildInfo.debug), throwsA(isA<UnimplementedError>()));
-    expect(device.executablePathForDevice(null, null), null);
+    await expectLater(
+          () => device.startApp(
+        FakeIOSApp(),
+        debuggingOptions: DebuggingOptions.disabled(BuildInfo.debug),
+      ),
+      throwsA(isA<UnimplementedError>()),
+    );
+    await expectLater(() => device.buildForDevice(FakeIOSApp(), buildInfo: BuildInfo.debug), throwsA(isA<UnimplementedError>()));
+    expect(device.executablePathForDevice(FakeIOSApp(), BuildMode.debug), null);
   });
 }
 
 class FakeIOSWorkflow extends Fake implements IOSWorkflow {
-  FakeIOSWorkflow({@required this.canListDevices});
+  FakeIOSWorkflow({required this.canListDevices});
 
   @override
   final bool canListDevices;
 }
+
+class FakeApplicationPackage extends Fake implements ApplicationPackage {}
+class FakeIOSApp extends Fake implements IOSApp {}
diff --git a/packages/flutter_tools/test/general.shard/runner/utils.dart b/packages/flutter_tools/test/general.shard/runner/utils.dart
index e4d4b97..032ad7b 100644
--- a/packages/flutter_tools/test/general.shard/runner/utils.dart
+++ b/packages/flutter_tools/test/general.shard/runner/utils.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:flutter_tools/src/runner/flutter_command.dart';
 
 typedef CommandFunction = Future<FlutterCommandResult> Function();
@@ -17,11 +15,11 @@
     this.commandFunction,
     this.packagesPath,
     this.fileSystemScheme,
-    this.fileSystemRoots,
+    this.fileSystemRoots = const <String>[],
   });
 
   final bool noUsagePath;
-  final CommandFunction commandFunction;
+  final CommandFunction? commandFunction;
 
   @override
   final bool shouldUpdateCache;
@@ -30,21 +28,21 @@
   String get description => 'does nothing';
 
   @override
-  Future<String> get usagePath => noUsagePath ? null : super.usagePath;
+  Future<String?> get usagePath async => noUsagePath ? null : super.usagePath;
 
   @override
   final String name;
 
   @override
   Future<FlutterCommandResult> runCommand() async {
-    return commandFunction == null ? FlutterCommandResult.fail() : await commandFunction();
+    return commandFunction == null ? FlutterCommandResult.fail() : await commandFunction!();
   }
 
   @override
-  final String packagesPath;
+  final String? packagesPath;
 
   @override
-  final String fileSystemScheme;
+  final String? fileSystemScheme;
 
   @override
   final List<String> fileSystemRoots;
diff --git a/packages/flutter_tools/test/general.shard/update_packages_test.dart b/packages/flutter_tools/test/general.shard/update_packages_test.dart
index a6fd150..a4abc35 100644
--- a/packages/flutter_tools/test/general.shard/update_packages_test.dart
+++ b/packages/flutter_tools/test/general.shard/update_packages_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:file/memory.dart';
 import 'package:file_testing/file_testing.dart';
 import 'package:flutter_tools/src/base/file_system.dart';
@@ -79,9 +77,9 @@
 ''';
 
 void main() {
-  FileSystem fileSystem;
-  Directory flutterSdk;
-  Directory flutter;
+  late FileSystem fileSystem;
+  late Directory flutterSdk;
+  late Directory flutter;
 
   setUp(() {
     fileSystem = MemoryFileSystem.test();
diff --git a/packages/flutter_tools/test/general.shard/windows/windows_device_test.dart b/packages/flutter_tools/test/general.shard/windows/windows_device_test.dart
index 3939a24..5de2d54 100644
--- a/packages/flutter_tools/test/general.shard/windows/windows_device_test.dart
+++ b/packages/flutter_tools/test/general.shard/windows/windows_device_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:file/memory.dart';
 import 'package:flutter_tools/src/base/file_system.dart';
 import 'package:flutter_tools/src/base/logger.dart';
@@ -17,7 +15,7 @@
 import 'package:test/fake.dart';
 
 import '../../src/common.dart';
-import '../../src/context.dart';
+import '../../src/fake_process_manager.dart';
 import '../../src/fakes.dart';
 
 void main() {
@@ -118,9 +116,9 @@
 }
 
 WindowsDevice setUpWindowsDevice({
-  FileSystem fileSystem,
-  Logger logger,
-  ProcessManager processManager,
+  FileSystem? fileSystem,
+  Logger? logger,
+  ProcessManager? processManager,
 }) {
   return WindowsDevice(
     fileSystem: fileSystem ?? MemoryFileSystem.test(),
diff --git a/packages/flutter_tools/test/integration.shard/cache_test.dart b/packages/flutter_tools/test/integration.shard/cache_test.dart
index 75bed11..7620e78 100644
--- a/packages/flutter_tools/test/integration.shard/cache_test.dart
+++ b/packages/flutter_tools/test/integration.shard/cache_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'dart:io' as io show ProcessSignal;
 
 import 'package:file/file.dart';
@@ -17,7 +15,7 @@
 import 'package:test/fake.dart';
 
 import '../src/common.dart';
-import '../src/context.dart';
+import '../src/fake_process_manager.dart';
 import '../src/fakes.dart';
 import 'test_utils.dart';
 
@@ -32,14 +30,14 @@
     }
     testWithoutContext(
         'should log a message to stderr when lock is not acquired', () async {
-      final String oldRoot = Cache.flutterRoot;
+      final String? oldRoot = Cache.flutterRoot;
       final Directory tempDir = fileSystem.systemTempDirectory.createTempSync('cache_test.');
       final BufferLogger logger = BufferLogger(
         terminal: Terminal.test(supportsColor: false, supportsEmoji: false),
         outputPreferences: OutputPreferences(),
       );
       logger.fatalWarnings = true;
-      Process process;
+      Process? process;
       try {
         Cache.flutterRoot = tempDir.absolute.path;
         final Cache cache = Cache.test(
@@ -48,10 +46,10 @@
           logger: logger,
         );
         final File cacheFile = fileSystem.file(fileSystem.path
-            .join(Cache.flutterRoot, 'bin', 'cache', 'lockfile'))
+            .join(Cache.flutterRoot!, 'bin', 'cache', 'lockfile'))
           ..createSync(recursive: true);
         final File script = fileSystem.file(fileSystem.path
-            .join(Cache.flutterRoot, 'bin', 'cache', 'test_lock.dart'));
+            .join(Cache.flutterRoot!, 'bin', 'cache', 'test_lock.dart'));
         script.writeAsStringSync(r'''
 import 'dart:async';
 import 'dart:io';
@@ -113,7 +111,7 @@
     });
     testWithoutContext(
         'should log a warning message for unknown version ', () async {
-      final String oldRoot = Cache.flutterRoot;
+      final String? oldRoot = Cache.flutterRoot;
       final Directory tempDir = fileSystem.systemTempDirectory.createTempSync('cache_test.');
       final BufferLogger logger = BufferLogger(
         terminal: Terminal.test(supportsColor: false, supportsEmoji: false),
@@ -164,8 +162,8 @@
 }
 
 class FakeArtifactUpdater extends Fake implements ArtifactUpdater {
-  void Function(String, Uri, Directory) onDownloadZipArchive;
-  void Function(String, Uri, Directory) onDownloadZipTarball;
+  void Function(String, Uri, Directory)? onDownloadZipArchive;
+  void Function(String, Uri, Directory)? onDownloadZipTarball;
 
   @override
   Future<void> downloadZippedTarball(String message, Uri url, Directory location) async {
@@ -189,7 +187,7 @@
   );
 
   @override
-  String get version => null;
+  String? get version => null;
 
   @override
   Future<void> updateInner(ArtifactUpdater artifactUpdater, FileSystem fileSystem, OperatingSystemUtils operatingSystemUtils) async { }
diff --git a/packages/flutter_tools/test/integration.shard/migrate_command_test.dart b/packages/flutter_tools/test/integration.shard/migrate_command_test.dart
index db1afc8..65a160e 100644
--- a/packages/flutter_tools/test/integration.shard/migrate_command_test.dart
+++ b/packages/flutter_tools/test/integration.shard/migrate_command_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// @dart = 2.8
-
 import 'package:file/file.dart';
 import 'package:flutter_tools/src/base/file_system.dart';
 import 'package:flutter_tools/src/base/logger.dart';
@@ -15,12 +13,12 @@
 import '../src/common.dart';
 
 void main() {
-  BufferLogger logger;
-  FileSystem fileSystem;
-  Directory projectRoot;
-  String projectRootPath;
-  ProcessUtils processUtils;
-  MigrateUtils utils;
+  late BufferLogger logger;
+  late FileSystem fileSystem;
+  late Directory projectRoot;
+  late String projectRootPath;
+  late ProcessUtils processUtils;
+  late MigrateUtils utils;
 
   setUpAll(() async {
     fileSystem = globals.localFileSystem;
diff --git a/packages/flutter_tools/test/src/fakes.dart b/packages/flutter_tools/test/src/fakes.dart
index 0233240..0d520fc 100644
--- a/packages/flutter_tools/test/src/fakes.dart
+++ b/packages/flutter_tools/test/src/fakes.dart
@@ -360,7 +360,7 @@
   final String engineRevisionShort;
 
   @override
-  final String repositoryUrl;
+  final String? repositoryUrl;
 
   @override
   final String frameworkVersion;
diff --git a/packages/flutter_tools/test/web.shard/web_driver_service_test.dart b/packages/flutter_tools/test/web.shard/web_driver_service_test.dart
index bdf12a5..4d1201e 100644
--- a/packages/flutter_tools/test/web.shard/web_driver_service_test.dart
+++ b/packages/flutter_tools/test/web.shard/web_driver_service_test.dart
@@ -11,7 +11,7 @@
 import 'package:package_config/package_config_types.dart';
 
 import '../src/common.dart';
-import '../src/context.dart';
+import '../src/fake_process_manager.dart';
 
 void main() {
   testWithoutContext('WebDriverService catches SocketExceptions cleanly and includes link to documentation', () async {