Remove mocks from build_windows_test (#77986)

This commit is contained in:
Jenn Magder 2021-03-12 16:40:52 -08:00 committed by GitHub
parent d018c24bb8
commit f0fca7de8b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,7 +13,7 @@ import 'package:flutter_tools/src/commands/build_windows.dart';
import 'package:flutter_tools/src/features.dart'; import 'package:flutter_tools/src/features.dart';
import 'package:flutter_tools/src/reporting/reporting.dart'; import 'package:flutter_tools/src/reporting/reporting.dart';
import 'package:flutter_tools/src/windows/visual_studio.dart'; import 'package:flutter_tools/src/windows/visual_studio.dart';
import 'package:mockito/mockito.dart'; import 'package:test/fake.dart';
import 'package:process/process.dart'; import 'package:process/process.dart';
import '../../src/common.dart'; import '../../src/common.dart';
@ -45,7 +45,7 @@ void main() {
FileSystem fileSystem; FileSystem fileSystem;
ProcessManager processManager; ProcessManager processManager;
MockVisualStudio mockVisualStudio; FakeVisualStudio fakeVisualStudio;
TestUsage usage; TestUsage usage;
setUpAll(() { setUpAll(() {
@ -55,7 +55,7 @@ void main() {
setUp(() { setUp(() {
fileSystem = MemoryFileSystem.test(style: FileSystemStyle.windows); fileSystem = MemoryFileSystem.test(style: FileSystemStyle.windows);
Cache.flutterRoot = flutterRoot; Cache.flutterRoot = flutterRoot;
mockVisualStudio = MockVisualStudio(); fakeVisualStudio = FakeVisualStudio();
usage = TestUsage(); usage = TestUsage();
}); });
@ -118,7 +118,7 @@ void main() {
testUsingContext('Windows build fails when there is no vcvars64.bat', () async { testUsingContext('Windows build fails when there is no vcvars64.bat', () async {
final BuildWindowsCommand command = BuildWindowsCommand() final BuildWindowsCommand command = BuildWindowsCommand()
..visualStudioOverride = mockVisualStudio; ..visualStudioOverride = fakeVisualStudio;
setUpMockProjectFilesForBuild(); setUpMockProjectFilesForBuild();
expect(createTestCommandRunner(command).run( expect(createTestCommandRunner(command).run(
@ -132,10 +132,10 @@ void main() {
}); });
testUsingContext('Windows build fails when there is no windows project', () async { testUsingContext('Windows build fails when there is no windows project', () async {
final FakeVisualStudio fakeVisualStudio = FakeVisualStudio(cmakePath);
final BuildWindowsCommand command = BuildWindowsCommand() final BuildWindowsCommand command = BuildWindowsCommand()
..visualStudioOverride = mockVisualStudio; ..visualStudioOverride = fakeVisualStudio;
setUpMockCoreProjectFiles(); setUpMockCoreProjectFiles();
when(mockVisualStudio.cmakePath).thenReturn(cmakePath);
expect(createTestCommandRunner(command).run( expect(createTestCommandRunner(command).run(
const <String>['windows', '--no-pub'] const <String>['windows', '--no-pub']
@ -150,10 +150,10 @@ void main() {
}); });
testUsingContext('Windows build fails on non windows platform', () async { testUsingContext('Windows build fails on non windows platform', () async {
final FakeVisualStudio fakeVisualStudio = FakeVisualStudio(cmakePath);
final BuildWindowsCommand command = BuildWindowsCommand() final BuildWindowsCommand command = BuildWindowsCommand()
..visualStudioOverride = mockVisualStudio; ..visualStudioOverride = fakeVisualStudio;
setUpMockProjectFilesForBuild(); setUpMockProjectFilesForBuild();
when(mockVisualStudio.cmakePath).thenReturn(cmakePath);
expect(createTestCommandRunner(command).run( expect(createTestCommandRunner(command).run(
const <String>['windows', '--no-pub'] const <String>['windows', '--no-pub']
@ -166,10 +166,10 @@ void main() {
}); });
testUsingContext('Windows build does not spew stdout to status logger', () async { testUsingContext('Windows build does not spew stdout to status logger', () async {
final FakeVisualStudio fakeVisualStudio = FakeVisualStudio(cmakePath);
final BuildWindowsCommand command = BuildWindowsCommand() final BuildWindowsCommand command = BuildWindowsCommand()
..visualStudioOverride = mockVisualStudio; ..visualStudioOverride = fakeVisualStudio;
setUpMockProjectFilesForBuild(); setUpMockProjectFilesForBuild();
when(mockVisualStudio.cmakePath).thenReturn(cmakePath);
processManager = FakeProcessManager.list(<FakeCommand>[ processManager = FakeProcessManager.list(<FakeCommand>[
cmakeGenerationCommand(), cmakeGenerationCommand(),
@ -191,10 +191,10 @@ void main() {
}); });
testUsingContext('Windows build extracts errors from stdout', () async { testUsingContext('Windows build extracts errors from stdout', () async {
final FakeVisualStudio fakeVisualStudio = FakeVisualStudio(cmakePath);
final BuildWindowsCommand command = BuildWindowsCommand() final BuildWindowsCommand command = BuildWindowsCommand()
..visualStudioOverride = mockVisualStudio; ..visualStudioOverride = fakeVisualStudio;
setUpMockProjectFilesForBuild(); setUpMockProjectFilesForBuild();
when(mockVisualStudio.cmakePath).thenReturn(cmakePath);
// This contains a mix of routine build output and various types of errors // This contains a mix of routine build output and various types of errors
// (compile error, link error, warning treated as an error) from MSBuild, // (compile error, link error, warning treated as an error) from MSBuild,
@ -249,10 +249,10 @@ C:\foo\windows\runner\main.cpp(17,1): error C2065: 'Baz': undeclared identifier
}); });
testUsingContext('Windows verbose build sets VERBOSE_SCRIPT_LOGGING', () async { testUsingContext('Windows verbose build sets VERBOSE_SCRIPT_LOGGING', () async {
final FakeVisualStudio fakeVisualStudio = FakeVisualStudio(cmakePath);
final BuildWindowsCommand command = BuildWindowsCommand() final BuildWindowsCommand command = BuildWindowsCommand()
..visualStudioOverride = mockVisualStudio; ..visualStudioOverride = fakeVisualStudio;
setUpMockProjectFilesForBuild(); setUpMockProjectFilesForBuild();
when(mockVisualStudio.cmakePath).thenReturn(cmakePath);
processManager = FakeProcessManager.list(<FakeCommand>[ processManager = FakeProcessManager.list(<FakeCommand>[
cmakeGenerationCommand(), cmakeGenerationCommand(),
@ -275,10 +275,10 @@ C:\foo\windows\runner\main.cpp(17,1): error C2065: 'Baz': undeclared identifier
}); });
testUsingContext('Windows build invokes build and writes generated files', () async { testUsingContext('Windows build invokes build and writes generated files', () async {
final FakeVisualStudio fakeVisualStudio = FakeVisualStudio(cmakePath);
final BuildWindowsCommand command = BuildWindowsCommand() final BuildWindowsCommand command = BuildWindowsCommand()
..visualStudioOverride = mockVisualStudio; ..visualStudioOverride = fakeVisualStudio;
setUpMockProjectFilesForBuild(); setUpMockProjectFilesForBuild();
when(mockVisualStudio.cmakePath).thenReturn(cmakePath);
processManager = FakeProcessManager.list(<FakeCommand>[ processManager = FakeProcessManager.list(<FakeCommand>[
cmakeGenerationCommand(), cmakeGenerationCommand(),
@ -340,10 +340,10 @@ C:\foo\windows\runner\main.cpp(17,1): error C2065: 'Baz': undeclared identifier
}); });
testUsingContext('Windows profile build passes Profile configuration', () async { testUsingContext('Windows profile build passes Profile configuration', () async {
final FakeVisualStudio fakeVisualStudio = FakeVisualStudio(cmakePath);
final BuildWindowsCommand command = BuildWindowsCommand() final BuildWindowsCommand command = BuildWindowsCommand()
..visualStudioOverride = mockVisualStudio; ..visualStudioOverride = fakeVisualStudio;
setUpMockProjectFilesForBuild(); setUpMockProjectFilesForBuild();
when(mockVisualStudio.cmakePath).thenReturn(cmakePath);
processManager = FakeProcessManager.list(<FakeCommand>[ processManager = FakeProcessManager.list(<FakeCommand>[
cmakeGenerationCommand(), cmakeGenerationCommand(),
@ -375,10 +375,10 @@ C:\foo\windows\runner\main.cpp(17,1): error C2065: 'Baz': undeclared identifier
}); });
testUsingContext('Performs code size analysis and sends analytics', () async { testUsingContext('Performs code size analysis and sends analytics', () async {
final FakeVisualStudio fakeVisualStudio = FakeVisualStudio(cmakePath);
final BuildWindowsCommand command = BuildWindowsCommand() final BuildWindowsCommand command = BuildWindowsCommand()
..visualStudioOverride = mockVisualStudio; ..visualStudioOverride = fakeVisualStudio;
setUpMockProjectFilesForBuild(); setUpMockProjectFilesForBuild();
when(mockVisualStudio.cmakePath).thenReturn(cmakePath);
fileSystem.file(r'build\windows\runner\Release\app.so') fileSystem.file(r'build\windows\runner\Release\app.so')
..createSync(recursive: true) ..createSync(recursive: true)
@ -423,4 +423,9 @@ C:\foo\windows\runner\main.cpp(17,1): error C2065: 'Baz': undeclared identifier
}); });
} }
class MockVisualStudio extends Mock implements VisualStudio {} class FakeVisualStudio extends Fake implements VisualStudio {
FakeVisualStudio([this.cmakePath]);
@override
final String cmakePath;
}