migrate hot reload benchmark to the new devicelab framework (#5878)
diff --git a/dev/devicelab/bin/tasks/hot_mode_dev_cycle__benchmark.dart b/dev/devicelab/bin/tasks/hot_mode_dev_cycle__benchmark.dart new file mode 100644 index 0000000..66dd522 --- /dev/null +++ b/dev/devicelab/bin/tasks/hot_mode_dev_cycle__benchmark.dart
@@ -0,0 +1,32 @@ +// Copyright (c) 2016 The Chromium 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:path/path.dart' as path; + +import 'package:flutter_devicelab/framework/adb.dart'; +import 'package:flutter_devicelab/framework/framework.dart'; +import 'package:flutter_devicelab/framework/utils.dart'; + +void main() { + task(() async { + Adb device = await adb(); + await device.unlock(); + Directory appDir = + dir(path.join(flutterDirectory.path, 'examples/flutter_gallery')); + File benchmarkFile = file(path.join(appDir.path, 'hot_benchmark.json')); + rm(benchmarkFile); + await inDirectory(appDir, () async { + return await flutter('run', + options: <String>['--hot', '-d', device.deviceId, '--benchmark'], + canFail: false); + }); + return new TaskResult.successFromFile(benchmarkFile, + benchmarkScoreKeys: <String>[ + 'hotReloadMillisecondsToFrame', + 'hotRestartMillisecondsToFrame' + ]); + }); +}
diff --git a/dev/devicelab/manifest.yaml b/dev/devicelab/manifest.yaml index 21afb54..80afa85 100644 --- a/dev/devicelab/manifest.yaml +++ b/dev/devicelab/manifest.yaml
@@ -103,6 +103,12 @@ stage: devicelab required_agent_capabilities: ["has-android-device"] + hot_mode_dev_cycle__benchmark: + description: > + Measures the performance of Dart VM hot patching feature. + stage: devicelab + required_agent_capabilities: ["has-android-device"] + # iOS on-device tests