Unverified Commit f0fca7de authored by Jenn Magder's avatar Jenn Magder Committed by GitHub

Remove mocks from build_windows_test (#77986)

parent d018c24b
...@@ -13,7 +13,7 @@ import 'package:flutter_tools/src/commands/build_windows.dart'; ...@@ -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() { ...@@ -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() { ...@@ -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() { ...@@ -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() { ...@@ -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() { ...@@ -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() { ...@@ -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() { ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment