Always fake ProcessManager when you fake Filesystem in tests (#42369)
...because otherwise, processes that think they're manipulating your
filesystem will be doing crazy things the test is ignoring, leading to
(at best) failures and (at worst) flakes or disk corruption.
diff --git a/packages/flutter_tools/test/general.shard/plugins_test.dart b/packages/flutter_tools/test/general.shard/plugins_test.dart
index 073fee4..270b316 100644
--- a/packages/flutter_tools/test/general.shard/plugins_test.dart
+++ b/packages/flutter_tools/test/general.shard/plugins_test.dart
@@ -75,6 +75,7 @@
expect(flutterProject.flutterPluginsFile.existsSync(), false);
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
});
testUsingContext('Refreshing the plugin list deletes the plugin file when there were plugins but no longer are', () {
@@ -85,6 +86,7 @@
expect(flutterProject.flutterPluginsFile.existsSync(), false);
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
});
testUsingContext('Refreshing the plugin list creates a plugin directory when there are plugins', () {
@@ -95,6 +97,7 @@
expect(flutterProject.flutterPluginsFile.existsSync(), true);
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
});
testUsingContext('Changes to the plugin list invalidates the Cocoapod lockfiles', () {
@@ -108,6 +111,7 @@
expect(macosProject.podManifestLock.existsSync(), false);
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
});
});
@@ -157,6 +161,7 @@
expect(registrant.readAsStringSync(), contains('class GeneratedPluginRegistrant'));
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
FeatureFlags: () => featureFlags,
});
@@ -182,6 +187,7 @@
expect(registrant.readAsStringSync(), contains('class GeneratedPluginRegistrant'));
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
FeatureFlags: () => featureFlags,
});
@@ -278,6 +284,7 @@
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
FeatureFlags: () => featureFlags,
XcodeProjectInterpreter: () => xcodeProjectInterpreter,
});
@@ -304,6 +311,7 @@
expect(registrant.readAsStringSync(), contains('class GeneratedPluginRegistrant'));
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
FeatureFlags: () => featureFlags,
});
@@ -322,6 +330,7 @@
expect(registrant.readAsStringSync(), contains('class GeneratedPluginRegistrant'));
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
FeatureFlags: () => featureFlags,
});
@@ -347,6 +356,7 @@
expect(registrant.readAsStringSync(), contains('class GeneratedPluginRegistrant'));
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
FeatureFlags: () => featureFlags,
});
@@ -372,6 +382,7 @@
expect(registrant.readAsStringSync(), contains('class GeneratedPluginRegistrant'));
}, overrides: <Type, Generator>{
FileSystem: () => fs,
+ ProcessManager: () => FakeProcessManager(<FakeCommand>[]),
FeatureFlags: () => featureFlags,
});
});