@@ -35,42 +35,53 @@ void main() {
35
35
await resetHistory ();
36
36
});
37
37
38
- testWidgets ('can call services and service extensions' , (tester) async {
39
- await pumpAndConnectDevTools (tester, testApp);
40
- await tester.pump (longDuration);
41
-
42
- // TODO(kenz): re-work this integration test so that we do not have to be
43
- // on the inspector screen for this to pass.
44
- await switchToScreen (
45
- tester,
46
- tabIcon: ScreenMetaData .inspector.icon! ,
47
- screenId: ScreenMetaData .inspector.id,
48
- );
49
- await tester.pump (longDuration);
50
-
51
- // Ensure all futures are completed before running checks.
52
- await serviceConnection.serviceManager.service! .allFuturesCompleted;
53
-
54
- logStatus ('verify Flutter framework service extensions' );
55
- await _verifyBooleanExtension (tester);
56
- await _verifyNumericExtension (tester);
57
- await _verifyStringExtension (tester);
58
-
59
- logStatus ('verify Flutter engine service extensions' );
60
- expect (
61
- await serviceConnection.queryDisplayRefreshRate,
62
- equals (60 ),
63
- );
64
-
65
- logStatus ('verify services that are registered to exactly one client' );
66
- await _verifyHotReloadAndHotRestart ();
67
- await expectLater (
68
- serviceConnection.serviceManager.callService ('fakeMethod' ),
69
- throwsException,
70
- );
71
-
72
- await disconnectFromTestApp (tester);
73
- });
38
+ testWidgets (
39
+ 'can call services and service extensions' ,
40
+ ignoreAllowedExceptions (
41
+ (tester) async {
42
+ await pumpAndConnectDevTools (tester, testApp);
43
+ await tester.pump (longDuration);
44
+
45
+ // TODO(kenz): re-work this integration test so that we do not have to be
46
+ // on the inspector screen for this to pass.
47
+ await switchToScreen (
48
+ tester,
49
+ tabIcon: ScreenMetaData .inspector.icon! ,
50
+ screenId: ScreenMetaData .inspector.id,
51
+ );
52
+ await tester.pump (longDuration);
53
+
54
+ // Ensure all futures are completed before running checks.
55
+ await serviceConnection.serviceManager.service! .allFuturesCompleted;
56
+
57
+ logStatus ('verify Flutter framework service extensions' );
58
+ await _verifyBooleanExtension (tester);
59
+ await _verifyNumericExtension (tester);
60
+ await _verifyStringExtension (tester);
61
+
62
+ logStatus ('verify Flutter engine service extensions' );
63
+ expect (
64
+ await serviceConnection.queryDisplayRefreshRate,
65
+ equals (60 ),
66
+ );
67
+
68
+ logStatus ('verify services that are registered to exactly one client' );
69
+ await _verifyHotReloadAndHotRestart ();
70
+ await expectLater (
71
+ serviceConnection.serviceManager.callService ('fakeMethod' ),
72
+ throwsException,
73
+ );
74
+
75
+ await disconnectFromTestApp (tester);
76
+ },
77
+ allowedExceptions: [
78
+ AllowedException (
79
+ msg: 'A SemanticsHandle was active at the end of the test.' ,
80
+ issue: 'https://github.com/flutter/devtools/issues/8107' ,
81
+ ),
82
+ ],
83
+ ),
84
+ );
74
85
75
86
testWidgets ('loads initial extension states from device' , (tester) async {
76
87
await pumpAndConnectDevTools (tester, testApp);
0 commit comments