From c19e553d64df567eaffa6e58f299557bb667d3d6 Mon Sep 17 00:00:00 2001 From: Mehmet Fidanboylu Date: Tue, 24 Sep 2019 16:53:40 -0700 Subject: [PATCH] Allow test beds to override defaultTestTimeout (#40806) --- packages/flutter_test/lib/src/binding.dart | 5 ++++- packages/flutter_test/test/bindings_test.dart | 10 +++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/flutter_test/lib/src/binding.dart b/packages/flutter_test/lib/src/binding.dart index 3a2d83f5b..f310ee1f1 100644 --- a/packages/flutter_test/lib/src/binding.dart +++ b/packages/flutter_test/lib/src/binding.dart @@ -839,8 +839,11 @@ class AutomatedTestWidgetsFlutterBinding extends TestWidgetsFlutterBinding { @override bool get checkIntrinsicSizes => true; + /// The value of [defaultTestTimeout] can be set to `None` to enable debugging flutter tests where + /// we would not want to timeout the test. This is expected to be used by test tooling which + /// can detect debug mode. @override - test_package.Timeout get defaultTestTimeout => const test_package.Timeout(Duration(minutes: 10)); + test_package.Timeout defaultTestTimeout = const test_package.Timeout(Duration(minutes: 10)); @override bool get inTest => _currentFakeAsync != null; diff --git a/packages/flutter_test/test/bindings_test.dart b/packages/flutter_test/test/bindings_test.dart index eef7e4156..31146dcc7 100644 --- a/packages/flutter_test/test/bindings_test.dart +++ b/packages/flutter_test/test/bindings_test.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; - +import 'package:test_api/test_api.dart' as test_package; void main() { group(TestViewConfiguration, () { @@ -14,4 +14,12 @@ void main() { TestViewConfiguration(size: const Size(1280.0, 800.0)); }); }); + + group(AutomatedTestWidgetsFlutterBinding, () { + test('allows setting defaultTestTimeout to 5 minutes', () { + final AutomatedTestWidgetsFlutterBinding binding = AutomatedTestWidgetsFlutterBinding(); + binding.defaultTestTimeout = const test_package.Timeout(Duration(minutes: 5)); + expect(binding.defaultTestTimeout.duration, const Duration(minutes: 5)); + }); + }); }