Unverified Commit 6cd847c7 authored by Jonah Williams's avatar Jonah Williams Committed by GitHub

[flutter_tools] update test platform to use buildInfo instead of mode + additional params (#69033)

parent 3ecac303
...@@ -23,8 +23,6 @@ import 'package:flutter_tools/src/test/coverage_collector.dart'; ...@@ -23,8 +23,6 @@ import 'package:flutter_tools/src/test/coverage_collector.dart';
import 'package:flutter_tools/src/test/runner.dart'; import 'package:flutter_tools/src/test/runner.dart';
import 'package:flutter_tools/src/test/test_wrapper.dart'; import 'package:flutter_tools/src/test/test_wrapper.dart';
// This was largely inspired by lib/src/commands/test.dart.
const String _kOptionPackages = 'packages'; const String _kOptionPackages = 'packages';
const String _kOptionShell = 'shell'; const String _kOptionShell = 'shell';
const String _kOptionTestDirectory = 'test-directory'; const String _kOptionTestDirectory = 'test-directory';
...@@ -149,13 +147,11 @@ Future<void> run(List<String> args) async { ...@@ -149,13 +147,11 @@ Future<void> run(List<String> args) async {
watcher: collector, watcher: collector,
ipv6: false, ipv6: false,
enableObservatory: collector != null, enableObservatory: collector != null,
buildMode: BuildMode.debug, buildInfo: BuildInfo.debug,
precompiledDillFiles: tests, precompiledDillFiles: tests,
concurrency: math.max(1, globals.platform.numberOfProcessors - 2), concurrency: math.max(1, globals.platform.numberOfProcessors - 2),
icudtlPath: globals.fs.path.absolute(argResults[_kOptionIcudtl] as String), icudtlPath: globals.fs.path.absolute(argResults[_kOptionIcudtl] as String),
coverageDirectory: coverageDirectory, coverageDirectory: coverageDirectory,
extraFrontEndOptions: <String>[],
buildInfo: BuildInfo.debug,
); );
if (collector != null) { if (collector != null) {
......
...@@ -253,17 +253,14 @@ class TestCommand extends FlutterCommand { ...@@ -253,17 +253,14 @@ class TestCommand extends FlutterCommand {
disableDds: disableDds, disableDds: disableDds,
ipv6: boolArg('ipv6'), ipv6: boolArg('ipv6'),
machine: machine, machine: machine,
buildMode: BuildMode.debug, buildInfo: buildInfo,
trackWidgetCreation: boolArg('track-widget-creation'),
updateGoldens: boolArg('update-goldens'), updateGoldens: boolArg('update-goldens'),
concurrency: jobs, concurrency: jobs,
buildTestAssets: buildTestAssets, buildTestAssets: buildTestAssets,
flutterProject: flutterProject, flutterProject: flutterProject,
web: stringArg('platform') == 'chrome', web: stringArg('platform') == 'chrome',
randomSeed: stringArg('test-randomize-ordering-seed'), randomSeed: stringArg('test-randomize-ordering-seed'),
extraFrontEndOptions: buildInfo.extraFrontEndOptions,
nullAssertions: boolArg(FlutterOptions.kNullAssertions), nullAssertions: boolArg(FlutterOptions.kNullAssertions),
buildInfo: buildInfo,
); );
if (collector != null) { if (collector != null) {
......
...@@ -53,8 +53,6 @@ FlutterPlatform installHook({ ...@@ -53,8 +53,6 @@ FlutterPlatform installHook({
int port = 0, int port = 0,
String precompiledDillPath, String precompiledDillPath,
Map<String, String> precompiledDillFiles, Map<String, String> precompiledDillFiles,
@required BuildMode buildMode,
bool trackWidgetCreation = false,
bool updateGoldens = false, bool updateGoldens = false,
bool buildTestAssets = false, bool buildTestAssets = false,
int observatoryPort, int observatoryPort,
...@@ -63,11 +61,8 @@ FlutterPlatform installHook({ ...@@ -63,11 +61,8 @@ FlutterPlatform installHook({
FlutterProject flutterProject, FlutterProject flutterProject,
String icudtlPath, String icudtlPath,
PlatformPluginRegistration platformPluginRegistration, PlatformPluginRegistration platformPluginRegistration,
List<String> extraFrontEndOptions,
// Deprecated, use extraFrontEndOptions.
List<String> dartExperiments,
bool nullAssertions = false, bool nullAssertions = false,
BuildInfo buildInfo, // TODO(jonahwilliams): make the default @required BuildInfo buildInfo,
}) { }) {
assert(testWrapper != null); assert(testWrapper != null);
assert(enableObservatory || (!startPaused && observatoryPort == null)); assert(enableObservatory || (!startPaused && observatoryPort == null));
...@@ -94,14 +89,11 @@ FlutterPlatform installHook({ ...@@ -94,14 +89,11 @@ FlutterPlatform installHook({
port: port, port: port,
precompiledDillPath: precompiledDillPath, precompiledDillPath: precompiledDillPath,
precompiledDillFiles: precompiledDillFiles, precompiledDillFiles: precompiledDillFiles,
buildMode: buildMode,
trackWidgetCreation: trackWidgetCreation,
updateGoldens: updateGoldens, updateGoldens: updateGoldens,
buildTestAssets: buildTestAssets, buildTestAssets: buildTestAssets,
projectRootDirectory: projectRootDirectory, projectRootDirectory: projectRootDirectory,
flutterProject: flutterProject, flutterProject: flutterProject,
icudtlPath: icudtlPath, icudtlPath: icudtlPath,
extraFrontEndOptions: extraFrontEndOptions,
nullAssertions: nullAssertions, nullAssertions: nullAssertions,
buildInfo: buildInfo, buildInfo: buildInfo,
); );
...@@ -240,16 +232,13 @@ class FlutterPlatform extends PlatformPlugin { ...@@ -240,16 +232,13 @@ class FlutterPlatform extends PlatformPlugin {
this.port, this.port,
this.precompiledDillPath, this.precompiledDillPath,
this.precompiledDillFiles, this.precompiledDillFiles,
@required this.buildMode,
this.trackWidgetCreation,
this.updateGoldens, this.updateGoldens,
this.buildTestAssets, this.buildTestAssets,
this.projectRootDirectory, this.projectRootDirectory,
this.flutterProject, this.flutterProject,
this.icudtlPath, this.icudtlPath,
this.nullAssertions = false, this.nullAssertions = false,
this.buildInfo, @required this.buildInfo,
@required this.extraFrontEndOptions,
}) : assert(shellPath != null); }) : assert(shellPath != null);
final String shellPath; final String shellPath;
...@@ -264,14 +253,11 @@ class FlutterPlatform extends PlatformPlugin { ...@@ -264,14 +253,11 @@ class FlutterPlatform extends PlatformPlugin {
final int port; final int port;
final String precompiledDillPath; final String precompiledDillPath;
final Map<String, String> precompiledDillFiles; final Map<String, String> precompiledDillFiles;
final BuildMode buildMode;
final bool trackWidgetCreation;
final bool updateGoldens; final bool updateGoldens;
final bool buildTestAssets; final bool buildTestAssets;
final Uri projectRootDirectory; final Uri projectRootDirectory;
final FlutterProject flutterProject; final FlutterProject flutterProject;
final String icudtlPath; final String icudtlPath;
final List<String> extraFrontEndOptions;
final bool nullAssertions; final bool nullAssertions;
final BuildInfo buildInfo; final BuildInfo buildInfo;
...@@ -448,7 +434,7 @@ class FlutterPlatform extends PlatformPlugin { ...@@ -448,7 +434,7 @@ class FlutterPlatform extends PlatformPlugin {
if (precompiledDillPath == null && precompiledDillFiles == null) { if (precompiledDillPath == null && precompiledDillFiles == null) {
// Lazily instantiate compiler so it is built only if it is actually used. // Lazily instantiate compiler so it is built only if it is actually used.
compiler ??= TestCompiler(buildInfo ?? BuildInfo(buildMode, '', trackWidgetCreation: trackWidgetCreation, treeShakeIcons: false), flutterProject, extraFrontEndOptions); compiler ??= TestCompiler(buildInfo, flutterProject);
mainDart = await compiler.compile(globals.fs.file(mainDart).uri); mainDart = await compiler.compile(globals.fs.file(mainDart).uri);
if (mainDart == null) { if (mainDart == null) {
......
...@@ -67,7 +67,7 @@ class FlutterWebPlatform extends PlatformPlugin { ...@@ -67,7 +67,7 @@ class FlutterWebPlatform extends PlatformPlugin {
_testGoldenComparator = TestGoldenComparator( _testGoldenComparator = TestGoldenComparator(
shellPath, shellPath,
() => TestCompiler(BuildInfo.debug, flutterProject, <String>[]), () => TestCompiler(BuildInfo.debug, flutterProject),
); );
} }
......
...@@ -39,8 +39,6 @@ abstract class FlutterTestRunner { ...@@ -39,8 +39,6 @@ abstract class FlutterTestRunner {
bool machine = false, bool machine = false,
String precompiledDillPath, String precompiledDillPath,
Map<String, String> precompiledDillFiles, Map<String, String> precompiledDillFiles,
@required BuildMode buildMode,
bool trackWidgetCreation = false,
bool updateGoldens = false, bool updateGoldens = false,
TestWatcher watcher, TestWatcher watcher,
@required int concurrency, @required int concurrency,
...@@ -50,9 +48,8 @@ abstract class FlutterTestRunner { ...@@ -50,9 +48,8 @@ abstract class FlutterTestRunner {
Directory coverageDirectory, Directory coverageDirectory,
bool web = false, bool web = false,
String randomSeed, String randomSeed,
@required List<String> extraFrontEndOptions,
bool nullAssertions = false, bool nullAssertions = false,
BuildInfo buildInfo, // TODO(jonahwilliams): make the default @required BuildInfo buildInfo,
}); });
} }
...@@ -76,8 +73,6 @@ class _FlutterTestRunnerImpl implements FlutterTestRunner { ...@@ -76,8 +73,6 @@ class _FlutterTestRunnerImpl implements FlutterTestRunner {
bool machine = false, bool machine = false,
String precompiledDillPath, String precompiledDillPath,
Map<String, String> precompiledDillFiles, Map<String, String> precompiledDillFiles,
@required BuildMode buildMode,
bool trackWidgetCreation = false,
bool updateGoldens = false, bool updateGoldens = false,
TestWatcher watcher, TestWatcher watcher,
@required int concurrency, @required int concurrency,
...@@ -87,9 +82,8 @@ class _FlutterTestRunnerImpl implements FlutterTestRunner { ...@@ -87,9 +82,8 @@ class _FlutterTestRunnerImpl implements FlutterTestRunner {
Directory coverageDirectory, Directory coverageDirectory,
bool web = false, bool web = false,
String randomSeed, String randomSeed,
@required List<String> extraFrontEndOptions,
bool nullAssertions = false, bool nullAssertions = false,
BuildInfo buildInfo // TODO(jonahwilliams): make the default argument @required BuildInfo buildInfo,
}) async { }) async {
// Configure package:test to use the Flutter engine for child processes. // Configure package:test to use the Flutter engine for child processes.
final String shellPath = globals.artifacts.getArtifactPath(Artifact.flutterTester); final String shellPath = globals.artifacts.getArtifactPath(Artifact.flutterTester);
...@@ -175,14 +169,11 @@ class _FlutterTestRunnerImpl implements FlutterTestRunner { ...@@ -175,14 +169,11 @@ class _FlutterTestRunnerImpl implements FlutterTestRunner {
serverType: serverType, serverType: serverType,
precompiledDillPath: precompiledDillPath, precompiledDillPath: precompiledDillPath,
precompiledDillFiles: precompiledDillFiles, precompiledDillFiles: precompiledDillFiles,
buildMode: buildMode,
trackWidgetCreation: trackWidgetCreation,
updateGoldens: updateGoldens, updateGoldens: updateGoldens,
buildTestAssets: buildTestAssets, buildTestAssets: buildTestAssets,
projectRootDirectory: globals.fs.currentDirectory.uri, projectRootDirectory: globals.fs.currentDirectory.uri,
flutterProject: flutterProject, flutterProject: flutterProject,
icudtlPath: icudtlPath, icudtlPath: icudtlPath,
extraFrontEndOptions: extraFrontEndOptions,
nullAssertions: nullAssertions, nullAssertions: nullAssertions,
buildInfo: buildInfo, buildInfo: buildInfo,
); );
......
...@@ -39,7 +39,6 @@ class TestCompiler { ...@@ -39,7 +39,6 @@ class TestCompiler {
TestCompiler( TestCompiler(
this.buildInfo, this.buildInfo,
this.flutterProject, this.flutterProject,
this.extraFrontEndOptions,
) : testFilePath = globals.fs.path.join( ) : testFilePath = globals.fs.path.join(
flutterProject.directory.path, flutterProject.directory.path,
getBuildDirectory(), getBuildDirectory(),
...@@ -68,7 +67,6 @@ class TestCompiler { ...@@ -68,7 +67,6 @@ class TestCompiler {
final FlutterProject flutterProject; final FlutterProject flutterProject;
final BuildInfo buildInfo; final BuildInfo buildInfo;
final String testFilePath; final String testFilePath;
final List<String> extraFrontEndOptions;
ResidentCompiler compiler; ResidentCompiler compiler;
...@@ -111,7 +109,7 @@ class TestCompiler { ...@@ -111,7 +109,7 @@ class TestCompiler {
unsafePackageSerialization: false, unsafePackageSerialization: false,
dartDefines: buildInfo.dartDefines, dartDefines: buildInfo.dartDefines,
packagesPath: globalPackagesPath, packagesPath: globalPackagesPath,
extraFrontEndOptions: extraFrontEndOptions, extraFrontEndOptions: buildInfo.extraFrontEndOptions,
platform: globals.platform, platform: globals.platform,
testCompilation: true, testCompilation: true,
); );
......
...@@ -30,10 +30,9 @@ void main() { ...@@ -30,10 +30,9 @@ void main() {
testUsingContext('ensureConfiguration throws an error if an ' testUsingContext('ensureConfiguration throws an error if an '
'explicitObservatoryPort is specified and more than one test file', () async { 'explicitObservatoryPort is specified and more than one test file', () async {
final FlutterPlatform flutterPlatform = FlutterPlatform( final FlutterPlatform flutterPlatform = FlutterPlatform(
buildMode: BuildMode.debug, buildInfo: BuildInfo.debug,
shellPath: '/', shellPath: '/',
explicitObservatoryPort: 1234, explicitObservatoryPort: 1234,
extraFrontEndOptions: <String>[],
); );
flutterPlatform.loadChannel('test1.dart', MockSuitePlatform()); flutterPlatform.loadChannel('test1.dart', MockSuitePlatform());
...@@ -46,10 +45,9 @@ void main() { ...@@ -46,10 +45,9 @@ void main() {
testUsingContext('ensureConfiguration throws an error if a precompiled ' testUsingContext('ensureConfiguration throws an error if a precompiled '
'entrypoint is specified and more that one test file', () { 'entrypoint is specified and more that one test file', () {
final FlutterPlatform flutterPlatform = FlutterPlatform( final FlutterPlatform flutterPlatform = FlutterPlatform(
buildMode: BuildMode.debug, buildInfo: BuildInfo.debug,
shellPath: '/', shellPath: '/',
precompiledDillPath: 'example.dill', precompiledDillPath: 'example.dill',
extraFrontEndOptions: <String>[],
); );
flutterPlatform.loadChannel('test1.dart', MockSuitePlatform()); flutterPlatform.loadChannel('test1.dart', MockSuitePlatform());
...@@ -170,22 +168,18 @@ void main() { ...@@ -170,22 +168,18 @@ void main() {
testUsingContext('installHook creates a FlutterPlatform', () { testUsingContext('installHook creates a FlutterPlatform', () {
expect(() => installHook( expect(() => installHook(
buildMode: BuildMode.debug, buildInfo: BuildInfo.debug,
shellPath: 'abc', shellPath: 'abc',
enableObservatory: false, enableObservatory: false,
startPaused: true, startPaused: true,
extraFrontEndOptions: <String>[],
buildInfo: BuildInfo.debug,
), throwsAssertionError); ), throwsAssertionError);
expect(() => installHook( expect(() => installHook(
buildMode: BuildMode.debug, buildInfo: BuildInfo.debug,
shellPath: 'abc', shellPath: 'abc',
enableObservatory: false, enableObservatory: false,
startPaused: false, startPaused: false,
observatoryPort: 123, observatoryPort: 123,
extraFrontEndOptions: <String>[],
buildInfo: BuildInfo.debug,
), throwsAssertionError); ), throwsAssertionError);
FlutterPlatform capturedPlatform; FlutterPlatform capturedPlatform;
...@@ -199,15 +193,12 @@ void main() { ...@@ -199,15 +193,12 @@ void main() {
port: 100, port: 100,
precompiledDillPath: 'def', precompiledDillPath: 'def',
precompiledDillFiles: expectedPrecompiledDillFiles, precompiledDillFiles: expectedPrecompiledDillFiles,
buildMode: BuildMode.debug, buildInfo: BuildInfo.debug,
trackWidgetCreation: true,
updateGoldens: true, updateGoldens: true,
buildTestAssets: true, buildTestAssets: true,
observatoryPort: 200, observatoryPort: 200,
serverType: InternetAddressType.IPv6, serverType: InternetAddressType.IPv6,
icudtlPath: 'ghi', icudtlPath: 'ghi',
extraFrontEndOptions: <String>[],
buildInfo: BuildInfo.debug,
platformPluginRegistration: (FlutterPlatform platform) { platformPluginRegistration: (FlutterPlatform platform) {
capturedPlatform = platform; capturedPlatform = platform;
}); });
...@@ -223,8 +214,7 @@ void main() { ...@@ -223,8 +214,7 @@ void main() {
expect(flutterPlatform.explicitObservatoryPort, equals(200)); expect(flutterPlatform.explicitObservatoryPort, equals(200));
expect(flutterPlatform.precompiledDillPath, equals('def')); expect(flutterPlatform.precompiledDillPath, equals('def'));
expect(flutterPlatform.precompiledDillFiles, expectedPrecompiledDillFiles); expect(flutterPlatform.precompiledDillFiles, expectedPrecompiledDillFiles);
expect(flutterPlatform.buildMode, equals(BuildMode.debug)); expect(flutterPlatform.buildInfo, equals(BuildInfo.debug));
expect(flutterPlatform.trackWidgetCreation, equals(true));
expect(flutterPlatform.updateGoldens, equals(true)); expect(flutterPlatform.updateGoldens, equals(true));
expect(flutterPlatform.buildTestAssets, equals(true)); expect(flutterPlatform.buildTestAssets, equals(true));
expect(flutterPlatform.icudtlPath, equals('ghi')); expect(flutterPlatform.icudtlPath, equals('ghi'));
...@@ -247,7 +237,7 @@ class MockHttpServer extends Mock implements HttpServer {} ...@@ -247,7 +237,7 @@ class MockHttpServer extends Mock implements HttpServer {}
// Uses a mock HttpServer. We don't want to bind random ports in our CI hosts. // Uses a mock HttpServer. We don't want to bind random ports in our CI hosts.
class TestFlutterPlatform extends FlutterPlatform { class TestFlutterPlatform extends FlutterPlatform {
TestFlutterPlatform() : super( TestFlutterPlatform() : super(
buildMode: BuildMode.debug, buildInfo: BuildInfo.debug,
shellPath: '/', shellPath: '/',
precompiledDillPath: 'example.dill', precompiledDillPath: 'example.dill',
host: InternetAddress.loopbackIPv6, host: InternetAddress.loopbackIPv6,
...@@ -256,7 +246,6 @@ class TestFlutterPlatform extends FlutterPlatform { ...@@ -256,7 +246,6 @@ class TestFlutterPlatform extends FlutterPlatform {
startPaused: false, startPaused: false,
enableObservatory: false, enableObservatory: false,
buildTestAssets: false, buildTestAssets: false,
extraFrontEndOptions: <String>[],
disableDds: true, disableDds: true,
); );
...@@ -270,7 +259,7 @@ class TestFlutterPlatform extends FlutterPlatform { ...@@ -270,7 +259,7 @@ class TestFlutterPlatform extends FlutterPlatform {
// Uses a mock HttpServer. We don't want to bind random ports in our CI hosts. // Uses a mock HttpServer. We don't want to bind random ports in our CI hosts.
class TestObservatoryFlutterPlatform extends FlutterPlatform { class TestObservatoryFlutterPlatform extends FlutterPlatform {
TestObservatoryFlutterPlatform() : super( TestObservatoryFlutterPlatform() : super(
buildMode: BuildMode.debug, buildInfo: BuildInfo.debug,
shellPath: '/', shellPath: '/',
precompiledDillPath: 'example.dill', precompiledDillPath: 'example.dill',
host: InternetAddress.loopbackIPv6, host: InternetAddress.loopbackIPv6,
...@@ -280,7 +269,6 @@ class TestObservatoryFlutterPlatform extends FlutterPlatform { ...@@ -280,7 +269,6 @@ class TestObservatoryFlutterPlatform extends FlutterPlatform {
enableObservatory: true, enableObservatory: true,
explicitObservatoryPort: 1234, explicitObservatoryPort: 1234,
buildTestAssets: false, buildTestAssets: false,
extraFrontEndOptions: <String>[],
disableServiceAuthCodes: false, disableServiceAuthCodes: false,
disableDds: false, disableDds: false,
); );
......
...@@ -139,7 +139,7 @@ class FakeTestCompiler extends TestCompiler { ...@@ -139,7 +139,7 @@ class FakeTestCompiler extends TestCompiler {
BuildInfo buildInfo, BuildInfo buildInfo,
FlutterProject flutterProject, FlutterProject flutterProject,
this.residentCompiler, this.residentCompiler,
) : super(buildInfo, flutterProject, <String>[]); ) : super(buildInfo, flutterProject);
final MockResidentCompiler residentCompiler; final MockResidentCompiler residentCompiler;
......
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