Swap Mocks to Fakes in config_test (#76274)

diff --git a/packages/flutter_tools/test/commands.shard/hermetic/build_linux_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/build_linux_test.dart
index 13bec93..edaf6d9 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/build_linux_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/build_linux_test.dart
@@ -19,8 +19,8 @@
 import 'package:flutter_tools/src/features.dart';
 import 'package:flutter_tools/src/project.dart';
 import 'package:flutter_tools/src/reporting/reporting.dart';
-import 'package:mockito/mockito.dart';
 import 'package:process/process.dart';
+import 'package:test/fake.dart';
 
 import '../../src/common.dart';
 import '../../src/context.dart';
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/config_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/config_test.dart
index f4563a1..2c71a85 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/config_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/config_test.dart
@@ -17,15 +17,15 @@
 import 'package:flutter_tools/src/globals.dart' as globals;
 import 'package:flutter_tools/src/reporting/reporting.dart';
 import 'package:flutter_tools/src/version.dart';
-import 'package:mockito/mockito.dart';
+import 'package:test/fake.dart';
 
 import '../../src/common.dart';
 import '../../src/context.dart';
 
 void main() {
-  MockAndroidStudio mockAndroidStudio;
-  MockAndroidSdk mockAndroidSdk;
-  MockFlutterVersion mockFlutterVersion;
+  FakeAndroidStudio fakeAndroidStudio;
+  FakeAndroidSdk fakeAndroidSdk;
+  FakeFlutterVersion fakeFlutterVersion;
   TestUsage testUsage;
 
   setUpAll(() {
@@ -33,9 +33,9 @@
   });
 
   setUp(() {
-    mockAndroidStudio = MockAndroidStudio();
-    mockAndroidSdk = MockAndroidSdk();
-    mockFlutterVersion = MockFlutterVersion();
+    fakeAndroidStudio = FakeAndroidStudio();
+    fakeAndroidSdk = FakeAndroidSdk();
+    fakeFlutterVersion = FakeFlutterVersion();
     testUsage = TestUsage();
   });
 
@@ -61,8 +61,8 @@
       expect(jsonObject['android-sdk'], isNotNull);
       verifyNoAnalytics();
     }, overrides: <Type, Generator>{
-      AndroidStudio: () => mockAndroidStudio,
-      AndroidSdk: () => mockAndroidSdk,
+      AndroidStudio: () => fakeAndroidStudio,
+      AndroidSdk: () => fakeAndroidSdk,
       Usage: () => testUsage,
     });
 
@@ -134,8 +134,8 @@
       expect(globals.config.getValue('enable-macos-desktop'), false);
       verifyNoAnalytics();
     }, overrides: <Type, Generator>{
-      AndroidStudio: () => mockAndroidStudio,
-      AndroidSdk: () => mockAndroidSdk,
+      AndroidStudio: () => fakeAndroidStudio,
+      AndroidSdk: () => fakeAndroidSdk,
       Usage: () => testUsage,
     });
 
@@ -157,7 +157,7 @@
     });
 
     testUsingContext('displays which config settings are available on stable', () async {
-      when(mockFlutterVersion.channel).thenReturn('stable');
+      fakeFlutterVersion.channel = 'stable';
       final ConfigCommand configCommand = ConfigCommand();
       final CommandRunner<void> commandRunner = createTestCommandRunner(configCommand);
 
@@ -191,9 +191,9 @@
       );
       verifyNoAnalytics();
     }, overrides: <Type, Generator>{
-      AndroidStudio: () => mockAndroidStudio,
-      AndroidSdk: () => mockAndroidSdk,
-      FlutterVersion: () => mockFlutterVersion,
+      AndroidStudio: () => fakeAndroidStudio,
+      AndroidSdk: () => fakeAndroidSdk,
+      FlutterVersion: () => fakeFlutterVersion,
       Usage: () => testUsage,
     });
 
@@ -265,14 +265,23 @@
   });
 }
 
-class MockAndroidStudio extends Mock implements AndroidStudio, Comparable<AndroidStudio> {
+class FakeAndroidStudio extends Fake implements AndroidStudio, Comparable<AndroidStudio> {
   @override
   String get directory => 'path/to/android/stdio';
 }
 
-class MockAndroidSdk extends Mock implements AndroidSdk {
+class FakeAndroidSdk extends Fake implements AndroidSdk {
   @override
   Directory get directory => globals.fs.directory('path/to/android/sdk');
 }
 
-class MockFlutterVersion extends Mock implements FlutterVersion {}
+class FakeFlutterVersion extends Fake implements FlutterVersion {
+  @override
+  String channel;
+
+  @override
+  void ensureVersionFile() {}
+
+  @override
+  Future<void> checkFlutterVersionFreshness() async {}
+}
diff --git a/packages/flutter_tools/test/general.shard/artifact_updater_test.dart b/packages/flutter_tools/test/general.shard/artifact_updater_test.dart
index 8ed4fac..0e4e595 100644
--- a/packages/flutter_tools/test/general.shard/artifact_updater_test.dart
+++ b/packages/flutter_tools/test/general.shard/artifact_updater_test.dart
@@ -15,7 +15,7 @@
 import 'package:flutter_tools/src/base/platform.dart';
 import 'package:flutter_tools/src/base/terminal.dart';
 import 'package:flutter_tools/src/cache.dart';
-import 'package:mockito/mockito.dart';
+import 'package:test/fake.dart';
 
 import '../src/common.dart';
 import '../src/fake_http_client.dart';
@@ -25,7 +25,7 @@
 
 void main() {
   testWithoutContext('ArtifactUpdater can download a zip archive', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
     final ArtifactUpdater artifactUpdater = ArtifactUpdater(
@@ -48,7 +48,7 @@
   });
 
   testWithoutContext('ArtifactUpdater can download a zip archive and delete stale files', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
     final ArtifactUpdater artifactUpdater = ArtifactUpdater(
@@ -78,7 +78,7 @@
 
   testWithoutContext('ArtifactUpdater will not validate the md5 hash if the '
     'x-goog-hash header is present but missing an md5 entry', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
 
@@ -109,7 +109,7 @@
 
   testWithoutContext('ArtifactUpdater will validate the md5 hash if the '
     'x-goog-hash header is present', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
 
@@ -144,7 +144,7 @@
 
   testWithoutContext('ArtifactUpdater will validate the md5 hash if the '
     'x-goog-hash header is present and throw if it does not match', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
 
@@ -184,7 +184,7 @@
   });
 
   testWithoutContext('ArtifactUpdater will restart the status ticker if it needs to retry the download', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final Logger logger = StdoutLogger(
       terminal: Terminal.test(supportsColor: true),
@@ -214,7 +214,7 @@
   });
 
   testWithoutContext('ArtifactUpdater will re-attempt on a non-200 response', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
 
@@ -242,7 +242,7 @@
   });
 
   testWithoutContext('ArtifactUpdater will tool exit on an ArgumentError from http client with base url override', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
     final ArtifactUpdater artifactUpdater = ArtifactUpdater(
@@ -272,7 +272,7 @@
   });
 
   testWithoutContext('ArtifactUpdater will rethrow on an ArgumentError from http client without base url override', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
     final ArtifactUpdater artifactUpdater = ArtifactUpdater(
@@ -298,7 +298,7 @@
   });
 
   testWithoutContext('ArtifactUpdater will re-download a file if unzipping fails', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
     final ArtifactUpdater artifactUpdater = ArtifactUpdater(
@@ -322,7 +322,7 @@
   });
 
   testWithoutContext('ArtifactUpdater will de-download a file if unzipping fails on windows', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils(windows: true);
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils(windows: true);
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
     final ArtifactUpdater artifactUpdater = ArtifactUpdater(
@@ -346,7 +346,7 @@
   });
 
   testWithoutContext('ArtifactUpdater will bail with a tool exit if unzipping fails more than twice', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
     final ArtifactUpdater artifactUpdater = ArtifactUpdater(
@@ -370,7 +370,7 @@
   });
 
   testWithoutContext('ArtifactUpdater will bail if unzipping fails more than twice on Windows', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils(windows: true);
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils(windows: true);
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
     final ArtifactUpdater artifactUpdater = ArtifactUpdater(
@@ -394,7 +394,7 @@
   });
 
   testWithoutContext('ArtifactUpdater can download a tar archive', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
     final ArtifactUpdater artifactUpdater = ArtifactUpdater(
@@ -416,7 +416,7 @@
   });
 
   testWithoutContext('ArtifactUpdater will delete downloaded files if they exist.', () async {
-    final MockOperatingSystemUtils operatingSystemUtils = MockOperatingSystemUtils();
+    final FakeOperatingSystemUtils operatingSystemUtils = FakeOperatingSystemUtils();
     final MemoryFileSystem fileSystem = MemoryFileSystem.test();
     final BufferLogger logger = BufferLogger.test();
     final ArtifactUpdater artifactUpdater = ArtifactUpdater(
@@ -441,8 +441,8 @@
   });
 }
 
-class MockOperatingSystemUtils extends Mock implements OperatingSystemUtils {
-  MockOperatingSystemUtils({this.windows = false});
+class FakeOperatingSystemUtils extends Fake implements OperatingSystemUtils {
+  FakeOperatingSystemUtils({this.windows = false});
 
   int failures = 0;
   final bool windows;
diff --git a/packages/flutter_tools/test/general.shard/base/signals_test.dart b/packages/flutter_tools/test/general.shard/base/signals_test.dart
index 3e45e73..9b7fd57 100644
--- a/packages/flutter_tools/test/general.shard/base/signals_test.dart
+++ b/packages/flutter_tools/test/general.shard/base/signals_test.dart
@@ -9,7 +9,7 @@
 
 import 'package:flutter_tools/src/base/io.dart';
 import 'package:flutter_tools/src/base/signals.dart';
-import 'package:mockito/mockito.dart';
+import 'package:test/fake.dart';
 
 import '../../src/common.dart';
 
diff --git a/packages/flutter_tools/test/general.shard/macos/application_package_test.dart b/packages/flutter_tools/test/general.shard/macos/application_package_test.dart
index ff69b1de..d838d69 100644
--- a/packages/flutter_tools/test/general.shard/macos/application_package_test.dart
+++ b/packages/flutter_tools/test/general.shard/macos/application_package_test.dart
@@ -26,7 +26,7 @@
     final Map<Type, Generator> overrides = <Type, Generator>{
       FileSystem: () => MemoryFileSystem.test(),
       ProcessManager: () => FakeProcessManager.any(),
-      PlistParser: () => MockPlistUtils(),
+      PlistParser: () => FakePlistUtils(),
       Platform: _kNoColorTerminalPlatform,
       OperatingSystemUtils: () => os,
     };
@@ -204,7 +204,7 @@
   Platform: _kNoColorTerminalPlatform,
 };
 
-class MockPlistUtils extends Mock implements PlistParser {
+class FakePlistUtils extends Fake implements PlistParser {
   @override
   Map<String, dynamic> parseFile(String plistFilePath) {
     final File file = globals.fs.file(plistFilePath);
diff --git a/packages/flutter_tools/test/general.shard/terminal_handler_test.dart b/packages/flutter_tools/test/general.shard/terminal_handler_test.dart
index 5021fd5..7b7d59f 100644
--- a/packages/flutter_tools/test/general.shard/terminal_handler_test.dart
+++ b/packages/flutter_tools/test/general.shard/terminal_handler_test.dart
@@ -362,9 +362,9 @@
 
 class MockResidentRunner extends Mock implements ResidentRunner {}
 class MockFlutterDevice extends Mock implements FlutterDevice {}
-class MockResidentCompiler extends Mock implements ResidentCompiler {}
+class FakeResidentCompiler extends Fake implements ResidentCompiler {}
 
-class TestRunner extends Mock implements ResidentRunner {
+class TestRunner extends Fake implements ResidentRunner {
   bool hasHelpBeenPrinted = false;
   String receivedCommand;
 
diff --git a/packages/flutter_tools/test/general.shard/vmservice_test.dart b/packages/flutter_tools/test/general.shard/vmservice_test.dart
index cdf5157..7808b35 100644
--- a/packages/flutter_tools/test/general.shard/vmservice_test.dart
+++ b/packages/flutter_tools/test/general.shard/vmservice_test.dart
@@ -115,7 +115,7 @@
   });
 
   testUsingContext('VmService registers flutterMemoryInfo service', () async {
-    final MockDevice mockDevice = MockDevice();
+    final FakeDevice mockDevice = FakeDevice();
 
     final MockVMService mockVMService = MockVMService();
     setUpVmService(
@@ -183,7 +183,7 @@
 
     verify(mockVMService.registerService('flutterVersion', 'Flutter Tools')).called(1);
   }, overrides: <Type, Generator>{
-    FlutterVersion: () => MockFlutterVersion(),
+    FlutterVersion: () => FakeFlutterVersion(),
   });
 
   testUsingContext('VMService prints messages for connection failures', () {
@@ -467,11 +467,11 @@
   });
 }
 
-class MockDevice extends Mock implements Device {}
 class MockVMService extends Mock implements vm_service.VmService {}
-class MockFlutterVersion extends Mock implements FlutterVersion {
+class FakeDevice extends Fake implements Device {}
+class FakeFlutterVersion extends Fake implements FlutterVersion {
   @override
-  Map<String, Object> toJson() => const <String, Object>{'Mock': 'Version'};
+  Map<String, Object> toJson() => const <String, Object>{'Fake': 'Version'};
 }
 
 /// A [WebSocketConnector] that always throws an [io.SocketException].