| // 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. |
| |
| // @dart = 2.8 |
| |
| import 'package:file/file.dart'; |
| |
| import '../src/common.dart'; |
| import 'test_data/project_with_immediate_exit.dart'; |
| import 'test_driver.dart'; |
| import 'test_utils.dart'; |
| |
| void main() { |
| group('immediate exit', () { |
| Directory tempDir; |
| final ProjectWithImmediateExit _project = ProjectWithImmediateExit(); |
| FlutterRunTestDriver _flutter; |
| |
| setUp(() async { |
| tempDir = createResolvedTempDirectorySync('run_test.'); |
| await _project.setUpIn(tempDir); |
| _flutter = FlutterRunTestDriver(tempDir); |
| }); |
| |
| tearDown(() async { |
| tryToDelete(tempDir); |
| }); |
| |
| testWithoutContext('flutter_tools gracefully handles quick app shutdown', () async { |
| try { |
| await _flutter.run(); |
| } on Exception { |
| expect(_flutter.lastErrorInfo, contains('Error connecting to the service protocol:')); |
| expect( |
| _flutter.lastErrorInfo.contains( |
| // Looks for stack trace entry of the form: |
| // test/integration.shard/test_driver.dart 379:18 FlutterTestDriver._waitFor.<fn> |
| RegExp(r'^(.+)\/([^\/]+)\.dart \d*:\d*\s*.*\$') |
| ), |
| isFalse |
| ); |
| } |
| }); |
| }, skip: true, // Flaky: https://github.com/flutter/flutter/issues/74052 |
| ); |
| } |