With dart2 being default, move preview_dart_2 tests to dart1. (#15667)

* With dart being default, move preview_dart_2 tests to dart1.

* Swap out defaults for preview-dart-2 option in tests. Make dart1 explicit

* Move suffix around

* Rename files
This commit is contained in:
Alexander Aprelev 2018-03-19 12:11:18 -07:00 committed by GitHub
parent 81070893be
commit 21ad09fe57
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 34 additions and 35 deletions

View file

@ -8,5 +8,5 @@ import 'package:flutter_devicelab/tasks/hot_mode_tests.dart';
import 'package:flutter_devicelab/framework/framework.dart';
Future<Null> main() async {
await task(createHotModeTest(isPreviewDart2: true));
await task(createHotModeTest(isPreviewDart2: false));
}

View file

@ -10,5 +10,5 @@ import 'package:flutter_devicelab/framework/adb.dart';
Future<Null> main() async {
deviceOperatingSystem = DeviceOperatingSystem.ios;
await task(createHotModeTest(isPreviewDart2: true));
await task(createHotModeTest(isPreviewDart2: false));
}

View file

@ -16,7 +16,7 @@ import '../framework/utils.dart';
final Directory _editedFlutterGalleryDir = dir(path.join(Directory.systemTemp.path, 'edited_flutter_gallery'));
final Directory flutterGalleryDir = dir(path.join(flutterDirectory.path, 'examples/flutter_gallery'));
TaskFunction createHotModeTest({ bool isPreviewDart2: false }) {
TaskFunction createHotModeTest({ bool isPreviewDart2: true }) {
return () async {
final Device device = await devices.workingDevice;
await device.unlock();
@ -27,6 +27,8 @@ TaskFunction createHotModeTest({ bool isPreviewDart2: false }) {
];
if (isPreviewDart2)
options.add('--preview-dart-2');
else
options.add('--no-preview-dart-2');
setLocalEngineOptionIfNecessary(options);
int hotReloadCount = 0;
Map<String, dynamic> twoReloadsData;

View file

@ -23,7 +23,7 @@ TaskFunction createMicrobenchmarkTask() {
final Device device = await devices.workingDevice;
await device.unlock();
Future<Map<String, double>> _runMicrobench(String benchmarkPath, {bool previewDart2: false}) async {
Future<Map<String, double>> _runMicrobench(String benchmarkPath, {bool previewDart2: true}) async {
Future<Map<String, double>> _run() async {
print('Running $benchmarkPath');
final Directory appDir = dir(
@ -40,6 +40,8 @@ TaskFunction createMicrobenchmarkTask() {
];
if (previewDart2)
options.add('--preview-dart-2');
else
options.add('--no-preview-dart-2');
setLocalEngineOptionIfNecessary(options);
options.add(benchmarkPath);
return await _startFlutter(
@ -59,33 +61,26 @@ TaskFunction createMicrobenchmarkTask() {
allResults.addAll(await _runMicrobench('lib/gestures/velocity_tracker_bench.dart'));
allResults.addAll(await _runMicrobench('lib/stocks/animation_bench.dart'));
// Run micro-benchmarks once again in --preview-dart-2 mode.
// Append "_dart2" suffix to the result keys to distinguish them from
// Run micro-benchmarks once again in --no-preview-dart-2 mode.
// Append "_dart1" suffix to the result keys to distinguish them from
// the original results.
void addDart2Results(Map<String, double> benchmarkResults) {
void addDart1Results(Map<String, double> benchmarkResults) {
benchmarkResults.forEach((String key, double result) {
allResults[key + '_dart2'] = result;
allResults[key + '_dart1'] = result;
});
}
try {
addDart2Results(await _runMicrobench(
'lib/stocks/layout_bench.dart', previewDart2: true));
addDart2Results(await _runMicrobench(
'lib/stocks/layout_bench.dart', previewDart2: true));
addDart2Results(await _runMicrobench(
'lib/stocks/build_bench.dart', previewDart2: true));
addDart2Results(await _runMicrobench(
'lib/gestures/velocity_tracker_bench.dart', previewDart2: true));
addDart2Results(await _runMicrobench(
'lib/stocks/animation_bench.dart', previewDart2: true));
} catch (e) {
// Ignore any exceptions from running benchmarks in Dart 2.0 mode,
// as these benchmarks are considered flaky.
stderr.writeln('WARNING: microbenchmarks FAILED in --preview-dart-2 mode.');
}
addDart1Results(await _runMicrobench(
'lib/stocks/layout_bench.dart', previewDart2: false));
addDart1Results(await _runMicrobench(
'lib/stocks/layout_bench.dart', previewDart2: false));
addDart1Results(await _runMicrobench(
'lib/stocks/build_bench.dart', previewDart2: false));
addDart1Results(await _runMicrobench(
'lib/gestures/velocity_tracker_bench.dart', previewDart2: false));
addDart1Results(await _runMicrobench(
'lib/stocks/animation_bench.dart', previewDart2: false));
return new TaskResult.success(allResults, benchmarkScoreKeys: allResults.keys.toList());
};
}

View file

@ -199,9 +199,9 @@ class CompileTest {
..addAll(await _compileAot())
..addAll(await _compileApp())
..addAll(await _compileDebug())
..addAll(_suffix(await _compileAot(previewDart2: true), '__preview_dart_2'))
..addAll(_suffix(await _compileApp(previewDart2: true), '__preview_dart_2'))
..addAll(_suffix(await _compileDebug(previewDart2: true), '__preview_dart_2'));
..addAll(_suffix(await _compileAot(previewDart2: false), '__dart1'))
..addAll(_suffix(await _compileApp(previewDart2: false), '__dart1'))
..addAll(_suffix(await _compileDebug(previewDart2: false), '__dart1'));
return new TaskResult.success(metrics, benchmarkScoreKeys: metrics.keys.toList());
});
@ -214,7 +214,7 @@ class CompileTest {
);
}
static Future<Map<String, dynamic>> _compileAot({ bool previewDart2: false }) async {
static Future<Map<String, dynamic>> _compileAot({ bool previewDart2: true }) async {
// Generate blobs instead of assembly.
await flutter('clean');
final Stopwatch watch = new Stopwatch()..start();
@ -235,6 +235,8 @@ class CompileTest {
}
if (previewDart2)
options.add('--preview-dart-2');
else
options.add('--no-preview-dart-2');
setLocalEngineOptionIfNecessary(options);
final String compileLog = await evalFlutter('build', options: options);
watch.stop();
@ -249,7 +251,7 @@ class CompileTest {
return metrics;
}
static Future<Map<String, dynamic>> _compileApp({ bool previewDart2: false }) async {
static Future<Map<String, dynamic>> _compileApp({ bool previewDart2: true }) async {
await flutter('clean');
final Stopwatch watch = new Stopwatch();
int releaseSizeInBytes;
@ -288,7 +290,7 @@ class CompileTest {
};
}
static Future<Map<String, dynamic>> _compileDebug({ bool previewDart2: false }) async {
static Future<Map<String, dynamic>> _compileDebug({ bool previewDart2: true }) async {
await flutter('clean');
final Stopwatch watch = new Stopwatch();
final List<String> options = <String>['--debug'];

View file

@ -148,17 +148,17 @@ tasks:
stage: devicelab
required_agent_capabilities: ["mac/android"]
hot_mode_dev_cycle__preview_dart_2_benchmark:
hot_mode_dev_cycle__benchmark_dart1:
description: >
Measures the performance of Dart VM hot patching feature under
--preview-dart-2 option, that enables Dart 2.0 frontend.
--no-preview-dart-2 option, that disables Dart 2.0 frontend.
stage: devicelab
required_agent_capabilities: ["mac/android"]
hot_mode_dev_cycle_ios__preview_dart_2_benchmark:
hot_mode_dev_cycle_ios__benchmark_dart1:
description: >
Measures the performance of Dart VM hot patching feature under
--preview-dart-2 option, that enables Dart 2.0 frontend.
--no-preview-dart-2 option, that disables Dart 2.0 frontend.
stage: devicelab_ios
required_agent_capabilities: ["mac/ios"]
flaky: true