Skip to content

Commit 8afdb97

Browse files
authored
Migrate build_daemon_callstack_test and build_daemon_breakpoint_test to null-safety (#1716)
1 parent a2f1baa commit 8afdb97

File tree

2 files changed

+60
-60
lines changed

2 files changed

+60
-60
lines changed

dwds/test/build_daemon_breakpoint_test.dart

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5-
// @dart = 2.9
6-
75
@TestOn('vm')
86
import 'dart:async';
97

@@ -38,88 +36,92 @@ void main() {
3836

3937
group('breakpoint', () {
4038
VM vm;
41-
Isolate isolate;
39+
late Isolate isolate;
40+
late String isolateId;
4241
ScriptList scripts;
43-
ScriptRef mainScript;
44-
Stream<Event> stream;
42+
late ScriptRef mainScript;
43+
late String mainScriptUri;
44+
late Stream<Event> stream;
4545

4646
setUp(() async {
4747
vm = await service.getVM();
48-
isolate = await service.getIsolate(vm.isolates.first.id);
49-
scripts = await service.getScripts(isolate.id);
48+
isolate = await service.getIsolate(vm.isolates!.first.id!);
49+
isolateId = isolate.id!;
50+
scripts = await service.getScripts(isolateId);
5051

5152
await service.streamListen('Debug');
5253
stream = service.onEvent('Debug');
5354

54-
mainScript = scripts.scripts
55-
.firstWhere((each) => each.uri.contains('main.dart'));
55+
mainScript = scripts.scripts!
56+
.firstWhere((each) => each.uri!.contains('main.dart'));
57+
mainScriptUri = mainScript.uri!;
5658
});
5759

5860
tearDown(() async {
59-
await service.resume(isolate.id);
61+
await service.resume(isolateId);
6062
});
6163

6264
test('set breakpoint', () async {
6365
final line = await context.findBreakpointLine(
64-
'printLocal', isolate.id, mainScript);
66+
'printLocal', isolateId, mainScript);
6567
final bp = await service.addBreakpointWithScriptUri(
66-
isolate.id, mainScript.uri, line);
68+
isolateId, mainScriptUri, line);
6769

6870
await stream.firstWhere(
6971
(Event event) => event.kind == EventKind.kPauseBreakpoint);
7072

7173
expect(bp, isNotNull);
7274

7375
// Remove breakpoint so it doesn't impact other tests.
74-
await service.removeBreakpoint(isolate.id, bp.id);
76+
await service.removeBreakpoint(isolateId, bp.id!);
7577
});
7678

7779
test('set breakpoint again', () async {
7880
final line = await context.findBreakpointLine(
79-
'printLocal', isolate.id, mainScript);
81+
'printLocal', isolateId, mainScript);
8082
final bp = await service.addBreakpointWithScriptUri(
81-
isolate.id, mainScript.uri, line);
83+
isolateId, mainScriptUri, line);
8284

8385
await stream.firstWhere(
8486
(Event event) => event.kind == EventKind.kPauseBreakpoint);
8587

8688
expect(bp, isNotNull);
8789

8890
// Remove breakpoint so it doesn't impact other tests.
89-
await service.removeBreakpoint(isolate.id, bp.id);
91+
await service.removeBreakpoint(isolateId, bp.id!);
9092
});
9193

9294
test('set existing breakpoint succeeds', () async {
9395
final line = await context.findBreakpointLine(
94-
'printLocal', isolate.id, mainScript);
96+
'printLocal', isolateId, mainScript);
9597
final bp1 = await service.addBreakpointWithScriptUri(
96-
isolate.id, mainScript.uri, line);
98+
isolateId, mainScriptUri, line);
9799
final bp2 = await service.addBreakpointWithScriptUri(
98-
isolate.id, mainScript.uri, line);
100+
isolateId, mainScriptUri, line);
99101

100102
expect(bp1, equals(bp2));
101103
expect(bp1, isNotNull);
102104

103105
await stream.firstWhere(
104106
(Event event) => event.kind == EventKind.kPauseBreakpoint);
105107

106-
var currentIsolate = await service.getIsolate(isolate.id);
108+
var currentIsolate = await service.getIsolate(isolateId);
107109
expect(currentIsolate.breakpoints, containsAll([bp1]));
108110

109111
// Remove breakpoints so they don't impact other tests.
110-
await service.removeBreakpoint(isolate.id, bp1.id);
112+
await service.removeBreakpoint(isolateId, bp1.id!);
111113

112-
currentIsolate = await service.getIsolate(isolate.id);
114+
currentIsolate = await service.getIsolate(isolateId);
113115
expect(currentIsolate.breakpoints, isEmpty);
114116
});
115117

116118
test('set breakpoints at the same line simultaneously succeeds',
117119
() async {
118120
final line = await context.findBreakpointLine(
119-
'printLocal', isolate.id, mainScript);
121+
'printLocal', isolateId, mainScript);
120122
final futures = [
121-
service.addBreakpointWithScriptUri(isolate.id, mainScript.uri, line),
122-
service.addBreakpointWithScriptUri(isolate.id, mainScript.uri, line),
123+
service.addBreakpointWithScriptUri(isolateId, mainScriptUri, line),
124+
service.addBreakpointWithScriptUri(isolateId, mainScriptUri, line),
123125
];
124126

125127
final breakpoints = await Future.wait(futures);
@@ -129,34 +131,34 @@ void main() {
129131
await stream.firstWhere(
130132
(Event event) => event.kind == EventKind.kPauseBreakpoint);
131133

132-
var currentIsolate = await service.getIsolate(isolate.id);
134+
var currentIsolate = await service.getIsolate(isolateId);
133135
expect(currentIsolate.breakpoints, containsAll([breakpoints[0]]));
134136

135137
// Remove breakpoints so they don't impact other tests.
136-
await service.removeBreakpoint(isolate.id, breakpoints[0].id);
138+
await service.removeBreakpoint(isolateId, breakpoints[0].id!);
137139

138-
currentIsolate = await service.getIsolate(isolate.id);
140+
currentIsolate = await service.getIsolate(isolateId);
139141
expect(currentIsolate.breakpoints, isEmpty);
140142
});
141143

142144
test('remove non-existing breakpoint fails', () async {
143145
final line = await context.findBreakpointLine(
144-
'printLocal', isolate.id, mainScript);
146+
'printLocal', isolateId, mainScript);
145147
final bp = await service.addBreakpointWithScriptUri(
146-
isolate.id, mainScript.uri, line);
148+
isolateId, mainScriptUri, line);
147149

148150
await stream.firstWhere(
149151
(Event event) => event.kind == EventKind.kPauseBreakpoint);
150152

151-
var currentIsolate = await service.getIsolate(isolate.id);
153+
var currentIsolate = await service.getIsolate(isolateId);
152154
expect(currentIsolate.breakpoints, containsAll([bp]));
153155

154156
// Remove breakpoints so they don't impact other tests.
155-
await service.removeBreakpoint(isolate.id, bp.id);
157+
await service.removeBreakpoint(isolateId, bp.id!);
156158
await expectLater(
157-
service.removeBreakpoint(isolate.id, bp.id), throwsRPCError);
159+
service.removeBreakpoint(isolateId, bp.id!), throwsRPCError);
158160

159-
currentIsolate = await service.getIsolate(isolate.id);
161+
currentIsolate = await service.getIsolate(isolateId);
160162
expect(currentIsolate.breakpoints, isEmpty);
161163
});
162164
});

dwds/test/build_daemon_callstack_test.dart

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5-
// @dart = 2.9
6-
75
@TestOn('vm')
86
import 'dart:async';
97

@@ -67,47 +65,47 @@ void main() {
6765
});
6866

6967
group('callStack |', () {
70-
ChromeProxyService service;
68+
late ChromeProxyService service;
7169
VM vm;
72-
Isolate isolate;
70+
late Isolate isolate;
7371
ScriptList scripts;
74-
ScriptRef mainScript;
75-
ScriptRef testLibraryScript;
76-
Stream<Event> stream;
72+
late ScriptRef mainScript;
73+
late ScriptRef testLibraryScript;
74+
late Stream<Event> stream;
7775

7876
setUp(() async {
7977
setCurrentLogWriter(debug: debug);
8078
service = setup.service;
8179
vm = await service.getVM();
82-
isolate = await service.getIsolate(vm.isolates.first.id);
83-
scripts = await service.getScripts(isolate.id);
80+
isolate = await service.getIsolate(vm.isolates!.first.id!);
81+
scripts = await service.getScripts(isolate.id!);
8482

8583
await service.streamListen('Debug');
8684
stream = service.onEvent('Debug');
8785

8886
final testPackage =
8987
soundNullSafety ? '_test_package_sound' : '_test_package';
9088

91-
mainScript = scripts.scripts
92-
.firstWhere((each) => each.uri.contains('main.dart'));
93-
testLibraryScript = scripts.scripts.firstWhere((each) =>
94-
each.uri.contains('package:$testPackage/test_library.dart'));
89+
mainScript = scripts.scripts!
90+
.firstWhere((each) => each.uri!.contains('main.dart'));
91+
testLibraryScript = scripts.scripts!.firstWhere((each) =>
92+
each.uri!.contains('package:$testPackage/test_library.dart'));
9593
});
9694

9795
tearDown(() async {
98-
await service.resume(isolate.id);
96+
await service.resume(isolate.id!);
9997
});
10098

10199
Future<void> onBreakPoint(BreakpointTestData breakpoint,
102100
Future<void> Function() body) async {
103-
Breakpoint bp;
101+
Breakpoint? bp;
104102
try {
105103
final bpId = breakpoint.bpId;
106104
final script = breakpoint.script;
107105
final line =
108-
await context.findBreakpointLine(bpId, isolate.id, script);
106+
await context.findBreakpointLine(bpId, isolate.id!, script);
109107
bp = await setup.service
110-
.addBreakpointWithScriptUri(isolate.id, script.uri, line);
108+
.addBreakpointWithScriptUri(isolate.id!, script.uri!, line);
111109

112110
expect(bp, isNotNull);
113111
expect(bp.location, _matchBpLocation(script, line, 0));
@@ -119,7 +117,7 @@ void main() {
119117
} finally {
120118
// Remove breakpoint so it doesn't impact other tests or retries.
121119
if (bp != null) {
122-
await setup.service.removeBreakpoint(isolate.id, bp.id);
120+
await setup.service.removeBreakpoint(isolate.id!, bp.id!);
123121
}
124122
}
125123
}
@@ -128,13 +126,13 @@ void main() {
128126
{int frameIndex = 1}) async {
129127
// Find lines the breakpoints are located on.
130128
final lines = await Future.wait(breakpoints.map((frame) => context
131-
.findBreakpointLine(frame.bpId, isolate.id, frame.script)));
129+
.findBreakpointLine(frame.bpId, isolate.id!, frame.script)));
132130

133131
// Get current stack.
134-
final stack = await service.getStack(isolate.id);
132+
final stack = await service.getStack(isolate.id!);
135133

136134
// Verify the stack is correct.
137-
expect(stack.frames.length, greaterThanOrEqualTo(lines.length));
135+
expect(stack.frames!.length, greaterThanOrEqualTo(lines.length));
138136
final expected = [
139137
for (var i = 0; i < lines.length; i++)
140138
_matchFrame(
@@ -144,7 +142,7 @@ void main() {
144142

145143
// Verify that expression evaluation is not failing.
146144
final instance =
147-
await service.evaluateInFrame(isolate.id, frameIndex, 'true');
145+
await service.evaluateInFrame(isolate.id!, frameIndex, 'true');
148146
expect(instance, isA<InstanceRef>());
149147
}
150148

@@ -237,7 +235,7 @@ void main() {
237235
),
238236
];
239237
await onBreakPoint(breakpoints[0], () async {
240-
await service.resume(isolate.id, step: 'Out');
238+
await service.resume(isolate.id!, step: 'Out');
241239
await stream.firstWhere(
242240
(Event event) => event.kind == EventKind.kPauseInterrupted);
243241
return testCallStack([breakpoints[1], breakpoints[2]]);
@@ -264,7 +262,7 @@ void main() {
264262
),
265263
];
266264
await onBreakPoint(breakpoints[1], () async {
267-
await service.resume(isolate.id, step: 'Into');
265+
await service.resume(isolate.id!, step: 'Into');
268266
await stream.firstWhere(
269267
(Event event) => event.kind == EventKind.kPauseInterrupted);
270268
return testCallStack(breakpoints);
@@ -296,7 +294,7 @@ void main() {
296294
final bp = BreakpointTestData(
297295
'printMultiLine', 'printObjectMultiLine', mainScript);
298296
await onBreakPoint(bp, () async {
299-
await service.resume(isolate.id, step: 'Into');
297+
await service.resume(isolate.id!, step: 'Into');
300298
await stream.firstWhere(
301299
(Event event) => event.kind == EventKind.kPauseInterrupted);
302300
return testCallStack(breakpoints);
@@ -309,7 +307,7 @@ void main() {
309307
}
310308

311309
Matcher _matchFrame(ScriptRef script, String function, int line) => isA<Frame>()
312-
.having((frame) => frame.code.name, 'function', function)
310+
.having((frame) => frame.code!.name, 'function', function)
313311
.having((frame) => frame.location, 'location',
314312
_matchFrameLocation(script, line));
315313

0 commit comments

Comments
 (0)