Unverified Commit fd160466 authored by Christopher Fujino's avatar Christopher Fujino Committed by GitHub

[flutter_tools] move build_preview_test from commands/permeable to integration shard (#136912)

Fixes https://github.com/flutter/flutter/issues/136907 by moving the test to the tools integration shard, which DOES have VS code installed.
parent 27cf404d
...@@ -19,14 +19,12 @@ import 'build.dart'; ...@@ -19,14 +19,12 @@ import 'build.dart';
class BuildPreviewCommand extends BuildSubCommand { class BuildPreviewCommand extends BuildSubCommand {
BuildPreviewCommand({ BuildPreviewCommand({
required super.logger, required super.logger,
required bool verboseHelp, required super.verboseHelp,
required this.fs, required this.fs,
required this.flutterRoot, required this.flutterRoot,
required this.processUtils, required this.processUtils,
required this.artifacts, required this.artifacts,
}) : super(verboseHelp: verboseHelp) { });
addCommonDesktopBuildOptions(verboseHelp: verboseHelp);
}
@override @override
final String name = '_preview'; final String name = '_preview';
......
...@@ -2,62 +2,51 @@ ...@@ -2,62 +2,51 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:args/command_runner.dart'; import 'dart:io';
import 'package:file_testing/file_testing.dart'; import 'package:file_testing/file_testing.dart';
import 'package:flutter_tools/src/base/file_system.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/base/platform.dart';
import 'package:flutter_tools/src/cache.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/common.dart';
import '../../src/context.dart'; import '../src/context.dart';
import '../../src/test_flutter_command_runner.dart'; import 'test_utils.dart';
void main() { void main() {
Cache.disableLocking(); Cache.disableLocking();
late Directory tempDir; late Directory tempDir;
late BufferLogger logger;
final FileSystem fs = LocalFileSystemBlockingSetCurrentDirectory(); 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(() { setUp(() {
tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_packages_test.'); tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_preview_integration_test.');
logger = BufferLogger.test();
}); });
tearDown(() { tearDown(() {
tryToDelete(tempDir); tryToDelete(tempDir);
tryToDelete(previewBin);
}); });
testUsingContext('flutter build _preview creates preview device', () async { testUsingContext('flutter build _preview creates preview device', () async {
final String projectPath = await createProject( final ProcessResult result = await processManager.run(<String>[
tempDir, flutterBin,
arguments: <String>['--no-pub', '--template=app'], 'build',
);
final BuildPreviewCommand command = BuildPreviewCommand(
logger: logger,
verboseHelp: true,
fs: fs,
processUtils: globals.processUtils,
flutterRoot: Cache.flutterRoot!,
artifacts: globals.artifacts!,
);
final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>[
'_preview', '_preview',
'--no-pub', '--verbose',
fs.path.join(projectPath, 'lib', 'main.dart'),
]); ]);
expect(result, const ProcessResultMatcher());
expect( expect(
fs previewBin,
.directory(Cache.flutterRoot)
.childDirectory('bin')
.childDirectory('cache')
.childDirectory('artifacts')
.childDirectory('flutter_preview')
.childFile('flutter_preview.exe'),
exists, exists,
); );
}, skip: !const LocalPlatform().isWindows); // [intended] Flutter Preview only supported on Windows currently }, skip: !const LocalPlatform().isWindows); // [intended] Flutter Preview only supported on Windows currently
......
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