Unverified Commit 5cc7b6c3 authored by Dan Field's avatar Dan Field Committed by GitHub

Add option to stream logs to file for flutter logs and way to use it in devicelab runs (#84008)

parent de9d4842
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -9,7 +9,7 @@ import 'dart:convert'; ...@@ -9,7 +9,7 @@ import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/common.dart'; import 'package:flutter_devicelab/common.dart';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/host_agent.dart'; import 'package:flutter_devicelab/framework/host_agent.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/host_agent.dart'; import 'package:flutter_devicelab/framework/host_agent.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -10,7 +10,7 @@ import 'dart:io'; ...@@ -10,7 +10,7 @@ import 'dart:io';
import 'dart:math'; import 'dart:math';
import 'package:flutter_devicelab/common.dart'; import 'package:flutter_devicelab/common.dart';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/common.dart'; import 'package:flutter_devicelab/common.dart';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/framework/utils.dart' as utils; import 'package:flutter_devicelab/framework/utils.dart' as utils;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
/// Measure application memory usage after pausing and resuming the app /// Measure application memory usage after pausing and resuming the app
/// with the Android back button. /// with the Android back button.
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/gallery.dart'; import 'package:flutter_devicelab/tasks/gallery.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/gallery.dart'; import 'package:flutter_devicelab/tasks/gallery.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/gallery.dart'; import 'package:flutter_devicelab/tasks/gallery.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/gallery.dart'; import 'package:flutter_devicelab/tasks/gallery.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/gallery.dart'; import 'package:flutter_devicelab/tasks/gallery.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/tasks/gallery.dart'; import 'package:flutter_devicelab/tasks/gallery.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/gallery.dart'; import 'package:flutter_devicelab/tasks/gallery.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -9,7 +9,7 @@ import 'dart:convert'; ...@@ -9,7 +9,7 @@ import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/common.dart'; import 'package:flutter_devicelab/common.dart';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/microbenchmarks.dart'; import 'package:flutter_devicelab/tasks/microbenchmarks.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/microbenchmarks.dart'; import 'package:flutter_devicelab/tasks/microbenchmarks.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/host_agent.dart'; import 'package:flutter_devicelab/framework/host_agent.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/new_gallery.dart'; import 'package:flutter_devicelab/tasks/new_gallery.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/new_gallery.dart'; import 'package:flutter_devicelab/tasks/new_gallery.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/new_gallery.dart'; import 'package:flutter_devicelab/tasks/new_gallery.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart' import 'package:flutter_devicelab/framework/devices.dart'
show DeviceOperatingSystem; show DeviceOperatingSystem;
import 'package:flutter_devicelab/framework/framework.dart' show task; import 'package:flutter_devicelab/framework/framework.dart' show task;
import 'package:flutter_devicelab/tasks/platform_channels_benchmarks.dart' import 'package:flutter_devicelab/tasks/platform_channels_benchmarks.dart'
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart' import 'package:flutter_devicelab/framework/devices.dart'
show DeviceOperatingSystem; show DeviceOperatingSystem;
import 'package:flutter_devicelab/framework/framework.dart' show task; import 'package:flutter_devicelab/framework/framework.dart' show task;
import 'package:flutter_devicelab/tasks/platform_channels_benchmarks.dart' import 'package:flutter_devicelab/tasks/platform_channels_benchmarks.dart'
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/integration_tests.dart'; import 'package:flutter_devicelab/tasks/integration_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -9,7 +9,7 @@ import 'dart:convert'; ...@@ -9,7 +9,7 @@ import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/common.dart'; import 'package:flutter_devicelab/common.dart';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/host_agent.dart'; import 'package:flutter_devicelab/framework/host_agent.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
......
...@@ -9,7 +9,7 @@ import 'dart:convert'; ...@@ -9,7 +9,7 @@ import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/common.dart'; import 'package:flutter_devicelab/common.dart';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
......
...@@ -9,7 +9,7 @@ import 'dart:convert'; ...@@ -9,7 +9,7 @@ import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/common.dart'; import 'package:flutter_devicelab/common.dart';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/hot_mode_tests.dart'; import 'package:flutter_devicelab/tasks/hot_mode_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/tasks/build_test_task.dart'; import 'package:flutter_devicelab/tasks/build_test_task.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/tasks/perf_tests.dart'; import 'package:flutter_devicelab/tasks/perf_tests.dart';
......
...@@ -152,6 +152,23 @@ abstract class Device { ...@@ -152,6 +152,23 @@ abstract class Device {
/// with some prefix. /// with some prefix.
Stream<String> get logcat; Stream<String> get logcat;
/// Whether this device supports calls to [startLoggingToSink]
/// and [stopLoggingToSink].
bool get canStreamLogs => false;
/// Starts logging to an [IOSink].
///
/// If `clear` is set to true, the log will be cleared before starting. This
/// is not supported on all platforms.
Future<void> startLoggingToSink(IOSink sink, {bool clear = true}) {
throw UnimplementedError();
}
/// Stops logging that was started by [startLoggingToSink].
Future<void> stopLoggingToSink() {
throw UnimplementedError();
}
/// Stop a process. /// Stop a process.
Future<void> stop(String packageName); Future<void> stop(String packageName);
...@@ -558,6 +575,52 @@ class AndroidDevice extends Device { ...@@ -558,6 +575,52 @@ class AndroidDevice extends Device {
}; };
} }
@override
bool get canStreamLogs => true;
bool _abortedLogging/*!*/ = false;
Process/*?*/ _loggingProcess;
@override
Future<void> startLoggingToSink(IOSink sink, {bool clear = true}) async {
if (clear) {
await adb(<String>['logcat', '--clear'], silent: true);
}
_loggingProcess = await startProcess(
adbPath,
// Make logcat less chatty by filtering down to just ActivityManager
// (to let us know when app starts), flutter (needed by tests to see
// log output), and fatal messages (hopefully catches tombstones).
// For local testing, this can just be:
// <String>['-s', deviceId, 'logcat']
// to view the whole log, or just run logcat alongside this.
<String>['-s', deviceId, 'logcat', 'ActivityManager:I', 'flutter:V', '*:F'],
);
_loggingProcess.stdout
.transform<String>(const Utf8Decoder(allowMalformed: true))
.listen((String line) {
sink.write(line);
});
_loggingProcess.stderr
.transform<String>(const Utf8Decoder(allowMalformed: true))
.listen((String line) {
sink.write(line);
});
unawaited(_loggingProcess.exitCode.then<void>((int exitCode) {
if (!_abortedLogging) {
sink.writeln('adb logcat failed with exit code $exitCode.\n');
}
}));
}
@override
Future<void> stopLoggingToSink() async {
assert(_loggingProcess != null);
_abortedLogging = true;
_loggingProcess.kill();
await _loggingProcess.exitCode;
}
@override @override
Stream<String> get logcat { Stream<String> get logcat {
final Completer<void> stdoutDone = Completer<void>(); final Completer<void> stdoutDone = Completer<void>();
...@@ -760,11 +823,66 @@ class IosDeviceDiscovery implements DeviceDiscovery { ...@@ -760,11 +823,66 @@ class IosDeviceDiscovery implements DeviceDiscovery {
/// iOS device. /// iOS device.
class IosDevice extends Device { class IosDevice extends Device {
const IosDevice({ @required this.deviceId }); IosDevice({ @required this.deviceId });
@override @override
final String deviceId; final String deviceId;
String get idevicesyslogPath {
return path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'libimobiledevice', 'idevicesyslog');
}
String get dyldLibraryPath {
final List<String> dylibsPaths = <String>[
path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'libimobiledevice'),
path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'openssl'),
path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'usbmuxd'),
path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'libplist'),
];
return dylibsPaths.join(':');
}
@override
bool get canStreamLogs => true;
bool _abortedLogging/*!*/ = false;
Process/*?*/ _loggingProcess;
@override
Future<void> startLoggingToSink(IOSink sink, {bool clear = true}) async {
// Clear is not supported.
_loggingProcess = await startProcess(
idevicesyslogPath,
<String>['-u', deviceId, '--quiet'],
environment: <String, String>{
'DYLD_LIBRARY_PATH': dyldLibraryPath,
},
);
_loggingProcess.stdout
.transform<String>(const Utf8Decoder(allowMalformed: true))
.listen((String line) {
sink.write(line);
});
_loggingProcess.stderr
.transform<String>(const Utf8Decoder(allowMalformed: true))
.listen((String line) {
sink.write(line);
});
unawaited(_loggingProcess.exitCode.then<void>((int exitCode) {
if (!_abortedLogging) {
sink.writeln('idevicesyslog failed with exit code $exitCode.\n');
}
}));
}
@override
Future<void> stopLoggingToSink() async {
assert(_loggingProcess != null);
_abortedLogging = true;
_loggingProcess.kill();
await _loggingProcess.exitCode;
}
// The methods below are stubs for now. They will need to be expanded. // The methods below are stubs for now. They will need to be expanded.
// We currently do not have a way to lock/unlock iOS devices. So we assume the // We currently do not have a way to lock/unlock iOS devices. So we assume the
// devices are already unlocked. For now we'll just keep them at minimum // devices are already unlocked. For now we'll just keep them at minimum
......
...@@ -14,7 +14,8 @@ import 'package:logging/logging.dart'; ...@@ -14,7 +14,8 @@ import 'package:logging/logging.dart';
import 'package:path/path.dart' as path; import 'package:path/path.dart' as path;
import 'package:stack_trace/stack_trace.dart'; import 'package:stack_trace/stack_trace.dart';
import 'adb.dart'; import 'devices.dart';
import 'host_agent.dart';
import 'running_processes.dart'; import 'running_processes.dart';
import 'task_result.dart'; import 'task_result.dart';
import 'utils.dart'; import 'utils.dart';
...@@ -81,6 +82,14 @@ class _TaskRunner { ...@@ -81,6 +82,14 @@ class _TaskRunner {
final TaskFunction task; final TaskFunction task;
Future<Device/*?*/> _getWorkingDeviceIfAvailable() async {
try {
return await devices.workingDevice;
} on DeviceException {
return null;
}
}
// TODO(ianh): workaround for https://github.com/dart-lang/sdk/issues/23797 // TODO(ianh): workaround for https://github.com/dart-lang/sdk/issues/23797
RawReceivePort _keepAlivePort; RawReceivePort _keepAlivePort;
Timer _startTaskTimeout; Timer _startTaskTimeout;
...@@ -136,11 +145,27 @@ class _TaskRunner { ...@@ -136,11 +145,27 @@ class _TaskRunner {
print('Skipping enabling configs for macOS, Linux, Windows, and Web'); print('Skipping enabling configs for macOS, Linux, Windows, and Web');
} }
final Device/*?*/ device = await _getWorkingDeviceIfAvailable();
/*late*/ TaskResult result;
IOSink/*?*/ sink;
try {
if (device != null && device.canStreamLogs && hostAgent.dumpDirectory != null) {
sink = File(path.join(hostAgent.dumpDirectory.path, '${device.deviceId}.log')).openWrite();
await device.startLoggingToSink(sink);
}
Future<TaskResult> futureResult = _performTask(); Future<TaskResult> futureResult = _performTask();
if (taskTimeout != null) if (taskTimeout != null)
futureResult = futureResult.timeout(taskTimeout); futureResult = futureResult.timeout(taskTimeout);
TaskResult result = await futureResult; result = await futureResult;
} finally {
if (device != null && device.canStreamLogs) {
assert(sink != null);
await device.stopLoggingToSink();
await sink.close();
}
}
if (runProcessCleanup) { if (runProcessCleanup) {
section('Checking running Dart$exe processes after task...'); section('Checking running Dart$exe processes after task...');
......
...@@ -22,14 +22,11 @@ class HostAgent { ...@@ -22,14 +22,11 @@ class HostAgent {
final FileSystem _fileSystem; final FileSystem _fileSystem;
/// Creates a directory to dump file artifacts. /// Creates a directory to dump file artifacts.
Directory get dumpDirectory { Directory/*?*/ get dumpDirectory {
if (_dumpDirectory == null) { if (_dumpDirectory == null) {
// Set in LUCI recipe. // Set in LUCI recipe.
final String directoryPath = _platform.environment['FLUTTER_LOGS_DIR']; final String directoryPath = _platform.environment['FLUTTER_LOGS_DIR'];
if (directoryPath == null) { if (directoryPath != null) {
_dumpDirectory = _fileSystem.systemTempDirectory.createTempSync('flutter_test_logs.');
print('Created tmp dump directory ${_dumpDirectory.path}');
} else {
_dumpDirectory = _fileSystem.directory(directoryPath)..createSync(recursive: true); _dumpDirectory = _fileSystem.directory(directoryPath)..createSync(recursive: true);
print('Found FLUTTER_LOGS_DIR dump directory ${_dumpDirectory.path}'); print('Found FLUTTER_LOGS_DIR dump directory ${_dumpDirectory.path}');
} }
...@@ -37,7 +34,7 @@ class HostAgent { ...@@ -37,7 +34,7 @@ class HostAgent {
return _dumpDirectory; return _dumpDirectory;
} }
static Directory _dumpDirectory; static Directory/*?*/ _dumpDirectory;
@visibleForTesting @visibleForTesting
void resetDumpDirectory() { void resetDumpDirectory() {
......
...@@ -12,8 +12,8 @@ import 'package:flutter_devicelab/common.dart'; ...@@ -12,8 +12,8 @@ import 'package:flutter_devicelab/common.dart';
import 'package:meta/meta.dart'; import 'package:meta/meta.dart';
import 'package:vm_service/vm_service.dart'; import 'package:vm_service/vm_service.dart';
import 'adb.dart';
import 'cocoon.dart'; import 'cocoon.dart';
import 'devices.dart';
import 'task_result.dart'; import 'task_result.dart';
import 'utils.dart'; import 'utils.dart';
......
...@@ -10,7 +10,7 @@ import 'dart:io'; ...@@ -10,7 +10,7 @@ import 'dart:io';
import 'dart:math' as math; import 'dart:math' as math;
import 'package:flutter_devicelab/common.dart'; import 'package:flutter_devicelab/common.dart';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:meta/meta.dart'; import 'package:meta/meta.dart';
import 'package:path/path.dart' as path; import 'package:path/path.dart' as path;
import 'package:process/process.dart'; import 'package:process/process.dart';
...@@ -471,6 +471,18 @@ Future<int> flutter(String command, { ...@@ -471,6 +471,18 @@ Future<int> flutter(String command, {
canFail: canFail, environment: environment); canFail: canFail, environment: environment);
} }
Future<Process> startFlutter(String command, {
List<String> options = const <String>[],
Map<String, String> environment = const <String, String>{},
}) {
final List<String> args = flutterCommandArgs(command, options);
return startProcess(
path.join(flutterDirectory.path, 'bin', 'flutter'),
args,
environment: environment,
);
}
/// Runs a `flutter` command and returns the standard output as a string. /// Runs a `flutter` command and returns the standard output as a string.
Future<String> evalFlutter(String command, { Future<String> evalFlutter(String command, {
List<String> options = const <String>[], List<String> options = const <String>[],
......
...@@ -8,19 +8,6 @@ import 'dart:async'; ...@@ -8,19 +8,6 @@ import 'dart:async';
import 'dart:convert'; import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/utils.dart';
import 'package:path/path.dart' as path;
/// Launches a new Flutter process.
Future<Process> startFlutter({
List<String> options = const <String>[],
bool canFail = false,
Map<String, String> environment,
}) {
final List<String> args = flutterCommandArgs('run', options);
return startProcess(path.join(flutterDirectory.path, 'bin', 'flutter'), args, environment: environment);
}
/// Reades through the print commands from [process] waiting for the magic phase /// Reades through the print commands from [process] waiting for the magic phase
/// that contains microbenchmarks results as defined in /// that contains microbenchmarks results as defined in
/// `dev/benchmarks/microbenchmarks/lib/common.dart`. /// `dev/benchmarks/microbenchmarks/lib/common.dart`.
......
...@@ -9,7 +9,7 @@ import 'dart:io'; ...@@ -9,7 +9,7 @@ import 'dart:io';
import 'package:args/args.dart'; import 'package:args/args.dart';
import 'package:flutter_devicelab/common.dart'; import 'package:flutter_devicelab/common.dart';
import '../framework/adb.dart'; import '../framework/devices.dart';
import '../framework/task_result.dart'; import '../framework/task_result.dart';
import '../framework/utils.dart'; import '../framework/utils.dart';
......
...@@ -8,7 +8,7 @@ import 'dart:convert'; ...@@ -8,7 +8,7 @@ import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'dart:math' as math; import 'dart:math' as math;
import '../framework/adb.dart'; import '../framework/devices.dart';
import '../framework/framework.dart'; import '../framework/framework.dart';
import '../framework/host_agent.dart'; import '../framework/host_agent.dart';
import '../framework/task_result.dart'; import '../framework/task_result.dart';
......
...@@ -10,7 +10,7 @@ import 'dart:io'; ...@@ -10,7 +10,7 @@ import 'dart:io';
import 'package:path/path.dart' as path; import 'package:path/path.dart' as path;
import '../framework/adb.dart'; import '../framework/devices.dart';
import '../framework/framework.dart'; import '../framework/framework.dart';
import '../framework/task_result.dart'; import '../framework/task_result.dart';
import '../framework/utils.dart'; import '../framework/utils.dart';
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// @dart = 2.8 // @dart = 2.8
import '../framework/adb.dart'; import '../framework/devices.dart';
import '../framework/framework.dart'; import '../framework/framework.dart';
import '../framework/host_agent.dart'; import '../framework/host_agent.dart';
import '../framework/task_result.dart'; import '../framework/task_result.dart';
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import 'dart:async'; import 'dart:async';
import 'dart:io'; import 'dart:io';
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
import 'package:flutter_devicelab/framework/utils.dart'; import 'package:flutter_devicelab/framework/utils.dart';
...@@ -37,8 +37,8 @@ TaskFunction createMicrobenchmarkTask() { ...@@ -37,8 +37,8 @@ TaskFunction createMicrobenchmarkTask() {
]; ];
options.add(benchmarkPath); options.add(benchmarkPath);
return startFlutter( return startFlutter(
'run',
options: options, options: options,
canFail: false,
); );
}); });
......
...@@ -9,7 +9,7 @@ import 'dart:convert' show LineSplitter, json, utf8; ...@@ -9,7 +9,7 @@ import 'dart:convert' show LineSplitter, json, utf8;
import 'dart:io'; import 'dart:io';
import 'dart:math' as math; import 'dart:math' as math;
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/framework/framework.dart';
import 'package:flutter_devicelab/framework/host_agent.dart'; import 'package:flutter_devicelab/framework/host_agent.dart';
import 'package:flutter_devicelab/framework/task_result.dart'; import 'package:flutter_devicelab/framework/task_result.dart';
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'dart:io' show Process, Directory; import 'dart:io' show Process, Directory;
import 'package:flutter_devicelab/framework/adb.dart' as adb; import 'package:flutter_devicelab/framework/devices.dart' as adb;
import 'package:flutter_devicelab/framework/framework.dart' show TaskFunction; import 'package:flutter_devicelab/framework/framework.dart' show TaskFunction;
import 'package:flutter_devicelab/framework/task_result.dart' show TaskResult; import 'package:flutter_devicelab/framework/task_result.dart' show TaskResult;
import 'package:flutter_devicelab/framework/utils.dart' as utils; import 'package:flutter_devicelab/framework/utils.dart' as utils;
...@@ -43,9 +43,9 @@ TaskFunction runTask(adb.DeviceOperatingSystem operatingSystem) { ...@@ -43,9 +43,9 @@ TaskFunction runTask(adb.DeviceOperatingSystem operatingSystem) {
'-d', '-d',
device.deviceId, device.deviceId,
]; ];
return microbenchmarks.startFlutter( return utils.startFlutter(
'run',
options: options, options: options,
canFail: false,
); );
}); });
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import 'package:collection/collection.dart' show ListEquality, MapEquality; import 'package:collection/collection.dart' show ListEquality, MapEquality;
import 'package:flutter_devicelab/framework/adb.dart'; import 'package:flutter_devicelab/framework/devices.dart';
import 'package:meta/meta.dart'; import 'package:meta/meta.dart';
import 'common.dart'; import 'common.dart';
......
...@@ -39,15 +39,7 @@ void main() { ...@@ -39,15 +39,7 @@ void main() {
final FakePlatform fakePlatform = FakePlatform(environment: <String, String>{}, operatingSystem: 'windows'); final FakePlatform fakePlatform = FakePlatform(environment: <String, String>{}, operatingSystem: 'windows');
final HostAgent agent = HostAgent(platform: fakePlatform, fileSystem: fs); final HostAgent agent = HostAgent(platform: fakePlatform, fileSystem: fs);
expect(agent.dumpDirectory.existsSync(), isTrue); expect(agent.dumpDirectory, null);
});
test('is the same between host agent instances', () async {
final FakePlatform fakePlatform = FakePlatform(environment: <String, String>{}, operatingSystem: 'windows');
final HostAgent agent1 = HostAgent(platform: fakePlatform, fileSystem: fs);
final HostAgent agent2 = HostAgent(platform: fakePlatform, fileSystem: fs);
expect(agent1.dumpDirectory.path, agent2.dumpDirectory.path);
}); });
}); });
} }
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