Migrate android views to devicelab. (#142081)
Migrate android view out of recipes.
This commit is contained in:
parent
30cc831985
commit
d51858c2e1
10
dev/devicelab/bin/tasks/android_views.dart
Normal file
10
dev/devicelab/bin/tasks/android_views.dart
Normal file
@ -0,0 +1,10 @@
|
||||
// Copyright 2014 The Flutter 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 'package:flutter_devicelab/framework/framework.dart';
|
||||
import 'package:flutter_devicelab/tasks/android_views_test.dart';
|
||||
|
||||
Future<void> main() async {
|
||||
await task(androidViewsTest());
|
||||
}
|
56
dev/devicelab/lib/tasks/android_views_test.dart
Normal file
56
dev/devicelab/lib/tasks/android_views_test.dart
Normal file
@ -0,0 +1,56 @@
|
||||
// Copyright 2014 The Flutter 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 '../framework/framework.dart';
|
||||
import '../framework/task_result.dart';
|
||||
import '../framework/utils.dart';
|
||||
|
||||
|
||||
/// Tests the following Android lifecycles: Activity#onStop(), Activity#onResume(), Activity#onPause(),
|
||||
/// and Activity#onDestroy() from Dart perspective in debug, profile, and release modes.
|
||||
TaskFunction androidViewsTest({
|
||||
Map<String, String>? environment,
|
||||
}){
|
||||
return () async {
|
||||
section('Build APK');
|
||||
await flutter(
|
||||
'build',
|
||||
options: <String>[
|
||||
'apk',
|
||||
'--config-only',
|
||||
],
|
||||
environment: environment,
|
||||
workingDirectory: '${flutterDirectory.path}/dev/integration_tests/android_views'
|
||||
);
|
||||
|
||||
/// Any gradle command downloads gradle if not already present in the cache.
|
||||
/// ./gradlew dependencies downloads any gradle defined dependencies to the cache.
|
||||
/// https://docs.gradle.org/current/userguide/viewing_debugging_dependencies.html
|
||||
/// Downloading gradle and downloading dependencies are a common source of flakes
|
||||
/// and moving those to an infra step that can be retried shifts the blame
|
||||
/// individual tests to the infra itself.
|
||||
section('Download android dependencies');
|
||||
final int exitCode = await exec(
|
||||
'./gradlew',
|
||||
<String>['-q', 'dependencies'],
|
||||
workingDirectory:
|
||||
'${flutterDirectory.path}/dev/integration_tests/android_views/android'
|
||||
);
|
||||
if (exitCode != 0) {
|
||||
return TaskResult.failure('Failed to download gradle dependencies');
|
||||
}
|
||||
section('Run flutter drive on android views');
|
||||
await flutter(
|
||||
'drive',
|
||||
options: <String>[
|
||||
'--browser-name=android-chrome',
|
||||
'--android-emulator', '--no-start-paused',
|
||||
'--purge-persistent-cache', '--device-timeout=30',
|
||||
],
|
||||
environment: environment,
|
||||
workingDirectory: '${flutterDirectory.path}/dev/integration_tests/android_views'
|
||||
);
|
||||
return TaskResult.success(null);
|
||||
};
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user