mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
[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.
This commit is contained in:
parent
27cf404da4
commit
fd1604666e
@ -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';
|
||||
|
||||
@ -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: <String>['--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<void> runner = createTestCommandRunner(command);
|
||||
await runner.run(<String>[
|
||||
'_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
|
||||
}
|
||||
@ -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(<String>[
|
||||
flutterBin,
|
||||
'build',
|
||||
'_preview',
|
||||
'--verbose',
|
||||
]);
|
||||
|
||||
expect(result, const ProcessResultMatcher());
|
||||
expect(
|
||||
previewBin,
|
||||
exists,
|
||||
);
|
||||
}, skip: !const LocalPlatform().isWindows); // [intended] Flutter Preview only supported on Windows currently
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user