Replace MockProcessManager with FakeProcessManager (#67019)
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/attach_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/attach_test.dart
index acfe4a8..4d1c029 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/attach_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/attach_test.dart
@@ -827,8 +827,6 @@
}
class MockDartDevelopmentService extends Mock implements DartDevelopmentService {}
-class MockProcessManager extends Mock implements ProcessManager {}
-class MockProcess extends Mock implements Process {}
class MockHttpClientRequest extends Mock implements HttpClientRequest {}
class MockHttpClientResponse extends Mock implements HttpClientResponse {}
class MockHttpHeaders extends Mock implements HttpHeaders {}
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/build_windows_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/build_windows_test.dart
index 1b3e276..4688017 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/build_windows_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/build_windows_test.dart
@@ -5,7 +5,6 @@
import 'package:file/memory.dart';
import 'package:file_testing/file_testing.dart';
import 'package:flutter_tools/src/base/file_system.dart';
-import 'package:flutter_tools/src/base/io.dart';
import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/cache.dart';
import 'package:flutter_tools/src/commands/build_windows.dart';
@@ -420,7 +419,5 @@
});
}
-class MockProcessManager extends Mock implements ProcessManager {}
-class MockProcess extends Mock implements Process {}
class MockVisualStudio extends Mock implements VisualStudio {}
class MockUsage extends Mock implements Usage {}
diff --git a/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart b/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart
index d7186b5..fb8ffda 100644
--- a/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart
+++ b/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart
@@ -24,7 +24,7 @@
group('UpgradeCommandRunner', () {
FakeUpgradeCommandRunner fakeCommandRunner;
UpgradeCommandRunner realCommandRunner;
- MockProcessManager processManager;
+ FakeProcessManager processManager;
FakePlatform fakePlatform;
final MockFlutterVersion flutterVersion = MockFlutterVersion();
const GitTagVersion gitTagVersion = GitTagVersion(
@@ -40,19 +40,7 @@
setUp(() {
fakeCommandRunner = FakeUpgradeCommandRunner();
realCommandRunner = UpgradeCommandRunner();
- processManager = MockProcessManager();
- when(processManager.start(
- <String>[
- globals.fs.path.join('bin', 'flutter'),
- 'upgrade',
- '--continue',
- '--no-version-check',
- ],
- environment: anyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory'),
- )).thenAnswer((Invocation invocation) async {
- return Future<Process>.value(createMockProcess());
- });
+ processManager = FakeProcessManager.list(<FakeCommand>[]);
fakeCommandRunner.willHaveUncomittedChanges = false;
fakePlatform = FakePlatform()..environment = Map<String, String>.unmodifiable(<String, String>{
'ENV1': 'irrelevant',
@@ -69,24 +57,11 @@
flutterVersion: flutterVersion,
);
expect(result, throwsToolExit());
+ expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
Platform: () => fakePlatform,
});
- testUsingContext('does not throw on unknown tag, official branch, force', () async {
- final Future<FlutterCommandResult> result = fakeCommandRunner.runCommand(
- force: true,
- continueFlow: false,
- testFlow: false,
- gitTagVersion: const GitTagVersion.unknown(),
- flutterVersion: flutterVersion,
- );
- expect(await result, FlutterCommandResult.success());
- }, overrides: <Type, Generator>{
- ProcessManager: () => processManager,
- Platform: () => fakePlatform,
- });
-
testUsingContext('throws tool exit with uncommitted changes', () async {
fakeCommandRunner.willHaveUncomittedChanges = true;
final Future<FlutterCommandResult> result = fakeCommandRunner.runCommand(
@@ -97,40 +72,11 @@
flutterVersion: flutterVersion,
);
expect(result, throwsToolExit());
+ expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
Platform: () => fakePlatform,
});
- testUsingContext('does not throw tool exit with uncommitted changes and force', () async {
- fakeCommandRunner.willHaveUncomittedChanges = true;
-
- final Future<FlutterCommandResult> result = fakeCommandRunner.runCommand(
- force: true,
- continueFlow: false,
- testFlow: false,
- gitTagVersion: gitTagVersion,
- flutterVersion: flutterVersion,
- );
- expect(await result, FlutterCommandResult.success());
- }, overrides: <Type, Generator>{
- ProcessManager: () => processManager,
- Platform: () => fakePlatform,
- });
-
- testUsingContext("Doesn't throw on known tag, dev branch, no force", () async {
- final Future<FlutterCommandResult> result = fakeCommandRunner.runCommand(
- force: false,
- continueFlow: false,
- testFlow: false,
- gitTagVersion: gitTagVersion,
- flutterVersion: flutterVersion,
- );
- expect(await result, FlutterCommandResult.success());
- }, overrides: <Type, Generator>{
- ProcessManager: () => processManager,
- Platform: () => fakePlatform,
- });
-
testUsingContext("Doesn't continue on known tag, dev branch, no force, already up-to-date", () async {
const String revision = 'abc123';
when(flutterVersion.frameworkRevision).thenReturn(revision);
@@ -144,17 +90,8 @@
flutterVersion: flutterVersion,
);
expect(await result, FlutterCommandResult.success());
- verifyNever(globals.processManager.start(
- <String>[
- globals.fs.path.join('bin', 'flutter'),
- 'upgrade',
- '--continue',
- '--no-version-check',
- ],
- environment: anyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory'),
- ));
expect(testLogger.statusText, contains('Flutter is already up to date'));
+ expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
ProcessManager: () => processManager,
Platform: () => fakePlatform,
@@ -162,78 +99,75 @@
testUsingContext('fetchRemoteRevision returns revision if git succeeds', () async {
const String revision = 'abc123';
- when(processManager.run(
- <String>['git', 'fetch', '--tags'],
- environment:anyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory')),
- ).thenAnswer((Invocation invocation) async {
- return FakeProcessResult()
- ..exitCode = 0;
- });
- when(processManager.run(
- <String>['git', 'rev-parse', '--verify', '@{u}'],
- environment:anyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory')),
- ).thenAnswer((Invocation invocation) async {
- return FakeProcessResult()
- ..exitCode = 0
- ..stdout = revision;
- });
+
+ processManager.addCommands(<FakeCommand>[
+ const FakeCommand(command: <String>[
+ 'git', 'fetch', '--tags'
+ ]),
+ const FakeCommand(command: <String>[
+ 'git', 'rev-parse', '--verify', '@{u}',
+ ],
+ stdout: revision),
+ ]);
+
expect(await realCommandRunner.fetchRemoteRevision(), revision);
+ expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
ProcessManager: () => processManager,
Platform: () => fakePlatform,
});
testUsingContext('fetchRemoteRevision throws toolExit if HEAD is detached', () async {
- when(processManager.run(
- <String>['git', 'fetch', '--tags'],
- environment:anyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory')),
- ).thenAnswer((Invocation invocation) async {
- return FakeProcessResult()..exitCode = 0;
- });
- when(processManager.run(
- <String>['git', 'rev-parse', '--verify', '@{u}'],
- environment:anyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory')),
- ).thenThrow(const ProcessException(
- 'git',
- <String>['rev-parse', '--verify', '@{u}'],
- 'fatal: HEAD does not point to a branch',
- ));
- expect(
- () async => await realCommandRunner.fetchRemoteRevision(),
+ processManager.addCommands(<FakeCommand>[
+ const FakeCommand(command: <String>[
+ 'git', 'fetch', '--tags'
+ ]),
+ FakeCommand(
+ command: const <String>['git', 'rev-parse', '--verify', '@{u}'],
+ onRun: () {
+ throw const ProcessException(
+ 'git',
+ <String>['rev-parse', '--verify', '@{u}'],
+ 'fatal: HEAD does not point to a branch',
+ );
+ }
+ ),
+ ]);
+
+ await expectLater(
+ () async => await realCommandRunner.fetchRemoteRevision(),
throwsToolExit(message: 'You are not currently on a release branch.'),
);
+ expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
ProcessManager: () => processManager,
Platform: () => fakePlatform,
});
testUsingContext('fetchRemoteRevision throws toolExit if no upstream configured', () async {
- when(processManager.run(
- <String>['git', 'fetch', '--tags'],
- environment:anyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory')),
- ).thenAnswer((Invocation invocation) async {
- return FakeProcessResult()..exitCode = 0;
- });
- when(processManager.run(
- <String>['git', 'rev-parse', '--verify', '@{u}'],
- environment:anyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory')),
- ).thenThrow(const ProcessException(
- 'git',
- <String>['rev-parse', '--verify', '@{u}'],
- 'fatal: no upstream configured for branch',
- ));
- expect(
- () async => await realCommandRunner.fetchRemoteRevision(),
+ processManager.addCommands(<FakeCommand>[
+ const FakeCommand(command: <String>[
+ 'git', 'fetch', '--tags'
+ ]),
+ FakeCommand(
+ command: const <String>['git', 'rev-parse', '--verify', '@{u}'],
+ onRun: () {
+ throw const ProcessException(
+ 'git',
+ <String>['rev-parse', '--verify', '@{u}'],
+ 'fatal: no upstream configured for branch',
+ );
+ },
+ ),
+ ]);
+
+ await expectLater(
+ () async => await realCommandRunner.fetchRemoteRevision(),
throwsToolExit(
message: 'Unable to upgrade Flutter: no origin repository configured\.',
),
);
+ expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
ProcessManager: () => processManager,
Platform: () => fakePlatform,
@@ -242,132 +176,185 @@
testUsingContext('git exception during attemptReset throwsToolExit', () async {
const String revision = 'abc123';
const String errorMessage = 'fatal: Could not parse object ´$revision´';
- when(processManager.run(
- <String>['git', 'reset', '--hard', revision]
- )).thenThrow(const ProcessException(
- 'git',
- <String>['reset', '--hard', revision],
- errorMessage,
- ));
+ processManager.addCommands(<FakeCommand>[
+ FakeCommand(
+ command: const <String>['git', 'reset', '--hard', revision],
+ onRun: () {
+ throw const ProcessException(
+ 'git',
+ <String>['reset', '--hard', revision],
+ errorMessage,
+ );
+ },
+ ),
+ ]);
- expect(
- () async => await realCommandRunner.attemptReset(revision),
+ await expectLater(
+ () async => await realCommandRunner.attemptReset(revision),
throwsToolExit(message: errorMessage),
);
+ expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
ProcessManager: () => processManager,
Platform: () => fakePlatform,
});
testUsingContext('flutterUpgradeContinue passes env variables to child process', () async {
+ processManager.addCommand(
+ FakeCommand(
+ command: <String>[
+ globals.fs.path.join('bin', 'flutter'),
+ 'upgrade',
+ '--continue',
+ '--no-version-check',
+ ],
+ environment: <String, String>{'FLUTTER_ALREADY_LOCKED': 'true', ...fakePlatform.environment}
+ ),
+ );
await realCommandRunner.flutterUpgradeContinue();
-
- final VerificationResult result = verify(globals.processManager.start(
- <String>[
- globals.fs.path.join('bin', 'flutter'),
- 'upgrade',
- '--continue',
- '--no-version-check',
- ],
- environment: captureAnyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory'),
- ));
-
- expect(result.captured.first,
- <String, String>{ 'FLUTTER_ALREADY_LOCKED': 'true', ...fakePlatform.environment });
+ expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
ProcessManager: () => processManager,
Platform: () => fakePlatform,
});
testUsingContext('precacheArtifacts passes env variables to child process', () async {
- final List<String> precacheCommand = <String>[
- globals.fs.path.join('bin', 'flutter'),
- '--no-color',
- '--no-version-check',
- 'precache',
- ];
-
- when(globals.processManager.start(
- precacheCommand,
- environment: anyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory'),
- )).thenAnswer((Invocation invocation) async {
- return Future<Process>.value(createMockProcess());
- });
-
+ processManager.addCommand(
+ FakeCommand(
+ command: <String>[
+ globals.fs.path.join('bin', 'flutter'),
+ '--no-color',
+ '--no-version-check',
+ 'precache',
+ ],
+ environment: <String, String>{'FLUTTER_ALREADY_LOCKED': 'true', ...fakePlatform.environment}
+ ),
+ );
await realCommandRunner.precacheArtifacts();
-
- final VerificationResult result = verify(globals.processManager.start(
- precacheCommand,
- environment: captureAnyNamed('environment'),
- workingDirectory: anyNamed('workingDirectory'),
- ));
-
- expect(result.captured.first,
- <String, String>{ 'FLUTTER_ALREADY_LOCKED': 'true', ...fakePlatform.environment });
+ expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
ProcessManager: () => processManager,
Platform: () => fakePlatform,
});
- group('full command', () {
- FakeProcessManager fakeProcessManager;
- Directory tempDir;
- File flutterToolState;
-
- FlutterVersion mockFlutterVersion;
-
+ group('runs upgrade', () {
setUp(() {
- Cache.disableLocking();
- fakeProcessManager = FakeProcessManager.list(<FakeCommand>[
- const FakeCommand(
- command: <String>[
- 'git', 'tag', '--points-at', 'HEAD',
- ],
- stdout: '',
- ),
- const FakeCommand(
- command: <String>[
- 'git', 'describe', '--match', '*.*.*', '--first-parent', '--long', '--tags',
- ],
- stdout: 'v1.12.16-19-gb45b676af',
- ),
- ]);
- tempDir = globals.fs.systemTempDirectory.createTempSync('flutter_upgrade_test.');
- flutterToolState = tempDir.childFile('.flutter_tool_state');
- mockFlutterVersion = MockFlutterVersion(isStable: true);
- });
-
- tearDown(() {
- Cache.enableLocking();
- tryToDelete(tempDir);
- });
-
- testUsingContext('upgrade continue prints welcome message', () async {
- final UpgradeCommand upgradeCommand = UpgradeCommand(fakeCommandRunner);
- applyMocksToCommand(upgradeCommand);
-
- await createTestCommandRunner(upgradeCommand).run(
- <String>[
+ processManager.addCommand(
+ FakeCommand(command: <String>[
+ globals.fs.path.join('bin', 'flutter'),
'upgrade',
'--continue',
- ],
+ '--no-version-check',
+ ]),
);
+ });
- expect(
- json.decode(flutterToolState.readAsStringSync()),
- containsPair('redisplay-welcome-message', true),
+ testUsingContext('does not throw on unknown tag, official branch, force', () async {
+ final Future<FlutterCommandResult> result = fakeCommandRunner.runCommand(
+ force: true,
+ continueFlow: false,
+ testFlow: false,
+ gitTagVersion: const GitTagVersion.unknown(),
+ flutterVersion: flutterVersion,
);
+ expect(await result, FlutterCommandResult.success());
+ expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
- FlutterVersion: () => mockFlutterVersion,
- ProcessManager: () => fakeProcessManager,
- PersistentToolState: () => PersistentToolState.test(
- directory: tempDir,
- logger: testLogger,
- ),
+ ProcessManager: () => processManager,
+ Platform: () => fakePlatform,
+ });
+
+ testUsingContext('does not throw tool exit with uncommitted changes and force', () async {
+ fakeCommandRunner.willHaveUncomittedChanges = true;
+
+ final Future<FlutterCommandResult> result = fakeCommandRunner.runCommand(
+ force: true,
+ continueFlow: false,
+ testFlow: false,
+ gitTagVersion: gitTagVersion,
+ flutterVersion: flutterVersion,
+ );
+ expect(await result, FlutterCommandResult.success());
+ expect(processManager.hasRemainingExpectations, isFalse);
+ }, overrides: <Type, Generator>{
+ ProcessManager: () => processManager,
+ Platform: () => fakePlatform,
+ });
+
+ testUsingContext("Doesn't throw on known tag, dev branch, no force", () async {
+ final Future<FlutterCommandResult> result = fakeCommandRunner.runCommand(
+ force: false,
+ continueFlow: false,
+ testFlow: false,
+ gitTagVersion: gitTagVersion,
+ flutterVersion: flutterVersion,
+ );
+ expect(await result, FlutterCommandResult.success());
+ expect(processManager.hasRemainingExpectations, isFalse);
+ }, overrides: <Type, Generator>{
+ ProcessManager: () => processManager,
+ Platform: () => fakePlatform,
+ });
+
+ group('full command', () {
+ FakeProcessManager fakeProcessManager;
+ Directory tempDir;
+ File flutterToolState;
+
+ FlutterVersion mockFlutterVersion;
+
+ setUp(() {
+ Cache.disableLocking();
+ fakeProcessManager = FakeProcessManager.list(<FakeCommand>[
+ const FakeCommand(
+ command: <String>[
+ 'git', 'tag', '--points-at', 'HEAD',
+ ],
+ stdout: '',
+ ),
+ const FakeCommand(
+ command: <String>[
+ 'git', 'describe', '--match', '*.*.*', '--first-parent', '--long', '--tags',
+ ],
+ stdout: 'v1.12.16-19-gb45b676af',
+ ),
+ ]);
+ tempDir = globals.fs.systemTempDirectory.createTempSync('flutter_upgrade_test.');
+ flutterToolState = tempDir.childFile('.flutter_tool_state');
+ mockFlutterVersion = MockFlutterVersion(isStable: true);
+ });
+
+ tearDown(() {
+ Cache.enableLocking();
+ tryToDelete(tempDir);
+ });
+
+ testUsingContext('upgrade continue prints welcome message', () async {
+ final UpgradeCommand upgradeCommand = UpgradeCommand(fakeCommandRunner);
+ applyMocksToCommand(upgradeCommand);
+
+ await createTestCommandRunner(upgradeCommand).run(
+ <String>[
+ 'upgrade',
+ '--continue',
+ ],
+ );
+
+ expect(
+ json.decode(flutterToolState.readAsStringSync()),
+ containsPair('redisplay-welcome-message', true),
+ );
+ }, overrides: <Type, Generator>{
+ FlutterVersion: () => mockFlutterVersion,
+ ProcessManager: () => fakeProcessManager,
+ PersistentToolState: () => PersistentToolState.test(
+ directory: tempDir,
+ logger: testLogger,
+ ),
+ });
});
});
+
});
}
@@ -399,19 +386,3 @@
@override
Future<void> runDoctor() async {}
}
-
-class MockProcess extends Mock implements Process {}
-class MockProcessManager extends Mock implements ProcessManager {}
-class FakeProcessResult implements ProcessResult {
- @override
- int exitCode;
-
- @override
- int pid = 0;
-
- @override
- String stderr = '';
-
- @override
- String stdout = '';
-}
diff --git a/packages/flutter_tools/test/general.shard/application_package_test.dart b/packages/flutter_tools/test/general.shard/application_package_test.dart
index 1398ed6..ae1d924 100644
--- a/packages/flutter_tools/test/general.shard/application_package_test.dart
+++ b/packages/flutter_tools/test/general.shard/application_package_test.dart
@@ -3,7 +3,6 @@
// found in the LICENSE file.
import 'dart:convert';
-import 'dart:io' show ProcessResult;
import 'package:file/file.dart';
import 'package:file/memory.dart';
@@ -30,44 +29,35 @@
Platform: _kNoColorTerminalPlatform,
};
-class MockitoProcessManager extends Mock implements ProcessManager {}
class MockitoAndroidSdk extends Mock implements AndroidSdk {}
class MockitoAndroidSdkVersion extends Mock implements AndroidSdkVersion {}
void main() {
group('Apk with partial Android SDK works', () {
AndroidSdk sdk;
- ProcessManager mockProcessManager;
+ FakeProcessManager fakeProcessManager;
MemoryFileSystem fs;
Cache cache;
- File gradle;
final Map<Type, Generator> overrides = <Type, Generator>{
AndroidSdk: () => sdk,
- ProcessManager: () => mockProcessManager,
+ ProcessManager: () => fakeProcessManager,
FileSystem: () => fs,
Cache: () => cache,
};
setUp(() async {
sdk = MockitoAndroidSdk();
- mockProcessManager = MockitoProcessManager();
+ fakeProcessManager = FakeProcessManager.list(<FakeCommand>[]);
fs = MemoryFileSystem.test();
cache = Cache.test(
- processManager: FakeProcessManager.any()
+ processManager: FakeProcessManager.any(),
);
Cache.flutterRoot = '../..';
when(sdk.licensesAvailable).thenReturn(true);
- when(mockProcessManager.canRun(any)).thenReturn(true);
- when(mockProcessManager.run(
- any,
- workingDirectory: anyNamed('workingDirectory'),
- environment: anyNamed('environment'),
- )).thenAnswer((_) async => ProcessResult(1, 0, 'stdout', 'stderr'));
- when(mockProcessManager.runSync(any)).thenReturn(ProcessResult(1, 0, 'stdout', 'stderr'));
final FlutterProject project = FlutterProject.current();
- gradle = globals.fs.file(project.android.hostAppGradleRoot.childFile(
+ globals.fs.file(project.android.hostAppGradleRoot.childFile(
globals.platform.isWindows ? 'gradlew.bat' : 'gradlew',
- ).path)..createSync(recursive: true);
+ ).path).createSync(recursive: true);
});
testUsingContext('Licenses not available, platform and buildtools available, apk exists', () async {
@@ -78,18 +68,19 @@
when(sdk.latestVersion).thenReturn(sdkVersion);
when(sdk.platformToolsAvailable).thenReturn(true);
when(sdk.licensesAvailable).thenReturn(false);
- when(mockProcessManager.runSync(
- argThat(equals(<String>[
+
+ fakeProcessManager.addCommand(
+ FakeCommand(
+ command: <String>[
aaptPath,
'dump',
'xmltree',
- apkFile.path,
+ apkFile.path,
'AndroidManifest.xml',
- ])),
- workingDirectory: anyNamed('workingDirectory'),
- environment: anyNamed('environment'),
- ),
- ).thenReturn(ProcessResult(0, 0, _aaptDataWithDefaultEnabledAndMainLauncherActivity, ''));
+ ],
+ stdout: _aaptDataWithDefaultEnabledAndMainLauncherActivity
+ )
+ );
final ApplicationPackage applicationPackage = await ApplicationPackageFactory.instance.getPackageForPlatform(
TargetPlatform.android_arm,
@@ -97,6 +88,7 @@
applicationBinary: apkFile,
);
expect(applicationPackage.name, 'app.apk');
+ expect(fakeProcessManager.hasRemainingExpectations, isFalse);
}, overrides: overrides);
testUsingContext('Licenses available, build tools not, apk exists', () async {
@@ -117,18 +109,14 @@
gradleWrapperDir.childFile('gradlew').writeAsStringSync('irrelevant');
gradleWrapperDir.childFile('gradlew.bat').writeAsStringSync('irrelevant');
+ fakeProcessManager.addCommand(FakeCommand(command: <String>[gradle.path, 'dependencies']));
+
await ApplicationPackageFactory.instance.getPackageForPlatform(
TargetPlatform.android_arm,
buildInfo: null,
applicationBinary: globals.fs.file('app.apk'),
);
- verify(
- mockProcessManager.run(
- argThat(equals(<String>[gradle.path, 'dependencies'])),
- workingDirectory: anyNamed('workingDirectory'),
- environment: anyNamed('environment'),
- ),
- ).called(1);
+ expect(fakeProcessManager.hasRemainingExpectations, isFalse);
}, overrides: overrides);
testUsingContext('Licenses available, build tools available, does not call gradle dependencies', () async {
@@ -139,22 +127,15 @@
TargetPlatform.android_arm,
buildInfo: null,
);
- verifyNever(
- mockProcessManager.run(
- argThat(equals(<String>[gradle.path, 'dependencies'])),
- workingDirectory: anyNamed('workingDirectory'),
- environment: anyNamed('environment'),
- ),
- );
+ expect(fakeProcessManager.hasRemainingExpectations, isFalse);
}, overrides: overrides);
testUsingContext('returns null when failed to extract manifest', () async {
final AndroidSdkVersion sdkVersion = MockitoAndroidSdkVersion();
when(sdk.latestVersion).thenReturn(sdkVersion);
- when(mockProcessManager.runSync(argThat(contains('logcat'))))
- .thenReturn(ProcessResult(0, 1, '', ''));
expect(AndroidApk.fromApk(null), isNull);
+ expect(fakeProcessManager.hasRemainingExpectations, isFalse);
}, overrides: overrides);
});