@@ -21,7 +21,7 @@ import '../../test/lsp/server_abstract.dart' show ClientCapabilitiesHelperMixin;
21
21
abstract class AbstractBenchmarkTest {
22
22
Future <void > get analysisFinished;
23
23
Future <void > closeFile (String filePath);
24
- Future <void > complete (String filePath, int offset);
24
+ Future <void > complete (String filePath, int offset, { required bool isWarmUp} );
25
25
void debugStdio ();
26
26
Future <int > getMemoryUsage ();
27
27
Future <void > openFile (String filePath, String contents);
@@ -44,22 +44,13 @@ class AnalysisServerBenchmarkTest extends AbstractBenchmarkTest {
44
44
_test.sendAnalysisUpdateContent ({filePath: RemoveContentOverlay ()});
45
45
46
46
@override
47
- Future <void > complete (String filePath, int offset) async {
48
- // Create a new non-broadcast stream and subscribe to
49
- // test.onCompletionResults before sending a request.
50
- // Otherwise we could skip results which where posted to
51
- // test.onCompletionResults after request is sent but
52
- // before subscribing to test.onCompletionResults.
53
- final completionResults = StreamController <CompletionResultsParams >();
54
- completionResults.sink.addStream (_test.onCompletionResults);
55
-
56
- var result = await _test.sendCompletionGetSuggestions (filePath, offset);
57
-
58
- var future = completionResults.stream
59
- .where ((CompletionResultsParams params) =>
60
- params.id == result.id && params.isLast)
61
- .first;
62
- await future;
47
+ Future <void > complete (
48
+ String filePath,
49
+ int offset, {
50
+ required bool isWarmUp,
51
+ }) async {
52
+ await _test.sendCompletionGetSuggestions2 (filePath, offset, 100 ,
53
+ timeout: isWarmUp ? 60 * 1000 : 0 );
63
54
}
64
55
65
56
@override
@@ -80,7 +71,6 @@ class AnalysisServerBenchmarkTest extends AbstractBenchmarkTest {
80
71
_test.dartSdkPath = dartSdkPath;
81
72
await _test.setUp ();
82
73
await _test.subscribeToStatusNotifications ();
83
- await _test.subscribeToAvailableSuggestions ();
84
74
await _test.sendAnalysisSetAnalysisRoots (roots, []);
85
75
}
86
76
@@ -129,16 +119,6 @@ class AnalysisServerMemoryUsageTest
129
119
/// After every test, the server is stopped.
130
120
Future shutdown () async => await shutdownIfNeeded ();
131
121
132
- /// Enable using available suggestions during completion.
133
- Future <void > subscribeToAvailableSuggestions () async {
134
- await server.send (
135
- 'completion.setSubscriptions' ,
136
- CompletionSetSubscriptionsParams (
137
- [CompletionService .AVAILABLE_SUGGESTION_SETS ],
138
- ).toJson (),
139
- );
140
- }
141
-
142
122
/// Enable [ServerService.STATUS] notifications so that [analysisFinished]
143
123
/// can be used.
144
124
Future subscribeToStatusNotifications () async {
@@ -168,7 +148,7 @@ class LspAnalysisServerBenchmarkTest extends AbstractBenchmarkTest
168
148
}
169
149
170
150
@override
171
- Future <void > complete (String filePath, int offset) {
151
+ Future <void > complete (String filePath, int offset, { required bool isWarmUp} ) {
172
152
final contents = _fileContents[filePath]! ;
173
153
final position = _test.positionFromOffset (offset, contents);
174
154
return _test.getCompletion (Uri .file (filePath), position);
0 commit comments