mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

Previously, I used the Android emulator for testing and everything seemed to work fine with stdout (if I remember correctly). But our devicelab uses real Android devices and the warnings are routed to stderr. Hence change stdout to stderr in the test.
53 lines
1.6 KiB
Dart
53 lines
1.6 KiB
Dart
// Copyright 2019 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:async';
|
|
|
|
import 'package:flutter_devicelab/framework/adb.dart';
|
|
import 'package:flutter_devicelab/framework/framework.dart';
|
|
import 'package:flutter_devicelab/framework/utils.dart';
|
|
|
|
Future<String> _runWithMode(String mode, String deviceId) async {
|
|
final StringBuffer stderr = StringBuffer();
|
|
await evalFlutter('drive', stderr: stderr, options: <String>[
|
|
mode,
|
|
'-t',
|
|
'test_driver/scroll_perf.dart',
|
|
'-d',
|
|
deviceId,
|
|
]);
|
|
return stderr.toString();
|
|
}
|
|
|
|
Future<TaskResult> run() async {
|
|
cd('${flutterDirectory.path}/examples/flutter_gallery');
|
|
final Device device = await devices.workingDevice;
|
|
await device.unlock();
|
|
final String deviceId = device.deviceId;
|
|
await flutter('packages', options: <String>['get']);
|
|
|
|
const String warningPiece = 'THIS BENCHMARK IS BEING RUN IN DEBUG MODE';
|
|
|
|
final String debugOutput = await _runWithMode('--debug', deviceId);
|
|
if (!debugOutput.contains(warningPiece)) {
|
|
return TaskResult.failure(
|
|
'Could not find the following warning message piece: $warningPiece'
|
|
);
|
|
}
|
|
|
|
final String profileOutput = await _runWithMode('--profile', deviceId);
|
|
if (profileOutput.contains(warningPiece)) {
|
|
return TaskResult.failure(
|
|
'Unexpected warning message piece in profile mode: $warningPiece'
|
|
);
|
|
}
|
|
|
|
return TaskResult.success(null);
|
|
}
|
|
|
|
Future<void> main() async {
|
|
deviceOperatingSystem = DeviceOperatingSystem.android;
|
|
await task(run);
|
|
}
|