diff --git a/packages/flutter_tools/lib/src/commands/build_preview.dart b/packages/flutter_tools/lib/src/commands/build_preview.dart index b7b2b806608..cd3a7eef9ec 100644 --- a/packages/flutter_tools/lib/src/commands/build_preview.dart +++ b/packages/flutter_tools/lib/src/commands/build_preview.dart @@ -19,14 +19,12 @@ import 'build.dart'; class BuildPreviewCommand extends BuildSubCommand { BuildPreviewCommand({ required super.logger, - required bool verboseHelp, + required super.verboseHelp, required this.fs, required this.flutterRoot, required this.processUtils, required this.artifacts, - }) : super(verboseHelp: verboseHelp) { - addCommonDesktopBuildOptions(verboseHelp: verboseHelp); - } + }); @override final String name = '_preview'; diff --git a/packages/flutter_tools/test/commands.shard/permeable/build_preview_test.dart b/packages/flutter_tools/test/commands.shard/permeable/build_preview_test.dart deleted file mode 100644 index 4231a5d3bed..00000000000 --- a/packages/flutter_tools/test/commands.shard/permeable/build_preview_test.dart +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:args/command_runner.dart'; -import 'package:file_testing/file_testing.dart'; -import 'package:flutter_tools/src/base/file_system.dart'; -import 'package:flutter_tools/src/base/logger.dart'; -import 'package:flutter_tools/src/base/platform.dart'; -import 'package:flutter_tools/src/cache.dart'; -import 'package:flutter_tools/src/commands/build_preview.dart'; -import 'package:flutter_tools/src/globals.dart' as globals; - -import '../../src/common.dart'; -import '../../src/context.dart'; -import '../../src/test_flutter_command_runner.dart'; - -void main() { - Cache.disableLocking(); - - late Directory tempDir; - late BufferLogger logger; - final FileSystem fs = LocalFileSystemBlockingSetCurrentDirectory(); - - setUp(() { - tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_packages_test.'); - logger = BufferLogger.test(); - }); - - tearDown(() { - tryToDelete(tempDir); - }); - - testUsingContext('flutter build _preview creates preview device', () async { - final String projectPath = await createProject( - tempDir, - arguments: ['--no-pub', '--template=app'], - ); - final BuildPreviewCommand command = BuildPreviewCommand( - logger: logger, - verboseHelp: true, - fs: fs, - processUtils: globals.processUtils, - flutterRoot: Cache.flutterRoot!, - artifacts: globals.artifacts!, - ); - final CommandRunner runner = createTestCommandRunner(command); - await runner.run([ - '_preview', - '--no-pub', - fs.path.join(projectPath, 'lib', 'main.dart'), - ]); - expect( - fs - .directory(Cache.flutterRoot) - .childDirectory('bin') - .childDirectory('cache') - .childDirectory('artifacts') - .childDirectory('flutter_preview') - .childFile('flutter_preview.exe'), - exists, - ); - }, skip: !const LocalPlatform().isWindows); // [intended] Flutter Preview only supported on Windows currently -} diff --git a/packages/flutter_tools/test/integration.shard/build_preview_test.dart b/packages/flutter_tools/test/integration.shard/build_preview_test.dart new file mode 100644 index 00000000000..f1d3f377041 --- /dev/null +++ b/packages/flutter_tools/test/integration.shard/build_preview_test.dart @@ -0,0 +1,53 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:io'; + +import 'package:file_testing/file_testing.dart'; +import 'package:flutter_tools/src/base/file_system.dart'; +import 'package:flutter_tools/src/base/platform.dart'; +import 'package:flutter_tools/src/cache.dart'; + +import '../src/common.dart'; +import '../src/context.dart'; +import 'test_utils.dart'; + +void main() { + Cache.disableLocking(); + + late Directory tempDir; + final FileSystem fs = LocalFileSystemBlockingSetCurrentDirectory(); + final String flutterBin = fs.path.join(getFlutterRoot(), 'bin', 'flutter'); + final File previewBin = fs + .directory(getFlutterRoot()) + .childDirectory('bin') + .childDirectory('cache') + .childDirectory('artifacts') + .childDirectory('flutter_preview') + .childFile('flutter_preview.exe'); + + setUp(() { + tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_preview_integration_test.'); + }); + + tearDown(() { + tryToDelete(tempDir); + tryToDelete(previewBin); + }); + + testUsingContext('flutter build _preview creates preview device', () async { + final ProcessResult result = await processManager.run([ + flutterBin, + 'build', + '_preview', + '--verbose', + ]); + + expect(result, const ProcessResultMatcher()); + expect( + previewBin, + exists, + ); + }, skip: !const LocalPlatform().isWindows); // [intended] Flutter Preview only supported on Windows currently +}