@@ -161,9 +161,7 @@ private void LoadTestsFromAnExtension(string extensionAssembly, IEnumerable<stri
161
161
return ;
162
162
}
163
163
164
- var result = this . DiscoverTestsFromSingleDiscoverer ( discoverer , discovererToSourcesMap [ discoverer ] , context , discoverySink , logger , cancellationToken ) ;
165
- totalAdaptersUsed += result . TotalAdaptersUsed ;
166
- totalTimeTakenByAdapters += result . TotalTimeSpentInAdapaters ;
164
+ this . DiscoverTestsFromSingleDiscoverer ( discoverer , discovererToSourcesMap , context , discoverySink , logger , ref totalAdaptersUsed , ref totalTimeTakenByAdapters ) ;
167
165
}
168
166
169
167
if ( this . discoveryResultCache . TotalDiscoveredTests == 0 )
@@ -193,19 +191,19 @@ private void CollectTelemetryAtEnd(double totalTimeTakenByAdapters, double total
193
191
totalAdaptersUsed ) ;
194
192
}
195
193
196
- private DiscoveryResult DiscoverTestsFromSingleDiscoverer (
194
+ private void DiscoverTestsFromSingleDiscoverer (
197
195
LazyExtension < ITestDiscoverer , ITestDiscovererCapabilities > discoverer ,
198
- IEnumerable < string > sources ,
196
+ Dictionary < LazyExtension < ITestDiscoverer , ITestDiscovererCapabilities > , IEnumerable < string > > discovererToSourcesMap ,
199
197
DiscoveryContext context ,
200
198
TestCaseDiscoverySink discoverySink ,
201
199
IMessageLogger logger ,
202
- CancellationToken cancellationToken )
200
+ ref double totalAdaptersUsed ,
201
+ ref double totalTimeTakenByAdapters )
203
202
{
204
- var result = new DiscoveryResult ( ) ;
205
203
if ( DiscovererEnumerator . TryToLoadDiscoverer ( discoverer , logger , out var discovererType ) == false )
206
204
{
207
205
// Fail to instantiate the discoverer type.
208
- return result ;
206
+ return ;
209
207
}
210
208
211
209
// on instantiated successfully, get tests
@@ -219,27 +217,21 @@ private DiscoveryResult DiscoverTestsFromSingleDiscoverer(
219
217
var newTimeStart = DateTime . UtcNow ;
220
218
221
219
this . testPlatformEventSource . AdapterDiscoveryStart ( discoverer . Metadata . DefaultExecutorUri . AbsoluteUri ) ;
222
- foreach ( var testSource in sources )
223
- {
224
- if ( cancellationToken . IsCancellationRequested )
225
- {
226
- EqtTrace . Info ( "DiscovererEnumerator.DiscoverTestsFromSingleDiscoverer: Cancellation Requested. Aborting the discovery" ) ;
227
- break ;
228
- }
229
-
230
- discoverer . Value . DiscoverTests ( new [ ] { testSource } , context , logger , discoverySink ) ;
231
- }
220
+ discoverer . Value . DiscoverTests ( discovererToSourcesMap [ discoverer ] , context , logger , discoverySink ) ;
232
221
233
222
var totalAdapterRunTime = DateTime . UtcNow - newTimeStart ;
234
- this . testPlatformEventSource . AdapterDiscoveryStop ( this . discoveryResultCache . TotalDiscoveredTests - currentTotalTests ) ;
223
+
224
+ this . testPlatformEventSource . AdapterDiscoveryStop ( this . discoveryResultCache . TotalDiscoveredTests -
225
+ currentTotalTests ) ;
235
226
236
227
// Record Total Tests Discovered By each Discoverer.
237
228
var totalTestsDiscoveredByCurrentDiscoverer = this . discoveryResultCache . TotalDiscoveredTests - currentTotalTests ;
238
229
this . requestData . MetricsCollection . Add (
239
230
string . Format ( "{0}.{1}" , TelemetryDataConstants . TotalTestsByAdapter ,
240
231
discoverer . Metadata . DefaultExecutorUri ) , totalTestsDiscoveredByCurrentDiscoverer ) ;
241
232
242
- result . TotalAdaptersUsed ++ ;
233
+ totalAdaptersUsed ++ ;
234
+
243
235
244
236
EqtTrace . Verbose ( "DiscovererEnumerator.DiscoverTestsFromSingleDiscoverer: Done loading tests for {0}" ,
245
237
discoverer . Value . GetType ( ) . FullName ) ;
@@ -252,18 +244,22 @@ private DiscoveryResult DiscoverTestsFromSingleDiscoverer(
252
244
}
253
245
254
246
// Collecting Data Point for Time Taken to Discover Tests by each Adapter
255
- this . requestData . MetricsCollection . Add ( $ "{ TelemetryDataConstants . TimeTakenToDiscoverTestsByAnAdapter } .{ discoverer . Metadata . DefaultExecutorUri } ", totalAdapterRunTime . TotalSeconds ) ;
256
- result . TotalTimeSpentInAdapaters += totalAdapterRunTime . TotalSeconds ;
247
+ this . requestData . MetricsCollection . Add (
248
+ string . Format ( "{0}.{1}" , TelemetryDataConstants . TimeTakenToDiscoverTestsByAnAdapter ,
249
+ discoverer . Metadata . DefaultExecutorUri ) , totalAdapterRunTime . TotalSeconds ) ;
250
+ totalTimeTakenByAdapters += totalAdapterRunTime . TotalSeconds ;
257
251
}
258
252
catch ( Exception e )
259
253
{
260
- var message = string . Format ( CultureInfo . CurrentUICulture , CrossPlatEngineResources . ExceptionFromLoadTests , discovererType . Name , e . Message ) ;
254
+ var message = string . Format (
255
+ CultureInfo . CurrentUICulture ,
256
+ CrossPlatEngineResources . ExceptionFromLoadTests ,
257
+ discovererType . Name ,
258
+ e . Message ) ;
261
259
262
260
logger . SendMessage ( TestMessageLevel . Error , message ) ;
263
261
EqtTrace . Error ( "DiscovererEnumerator.DiscoverTestsFromSingleDiscoverer: {0} " , e ) ;
264
262
}
265
-
266
- return result ;
267
263
}
268
264
269
265
private static bool TryToLoadDiscoverer ( LazyExtension < ITestDiscoverer , ITestDiscovererCapabilities > discoverer , IMessageLogger logger , out Type discovererType )
@@ -499,11 +495,5 @@ private static IEnumerable<LazyExtension<ITestDiscoverer, ITestDiscovererCapabil
499
495
}
500
496
}
501
497
502
- private class DiscoveryResult
503
- {
504
- public double TotalTimeSpentInAdapaters { get ; set ; }
505
- public int TotalAdaptersUsed { get ; set ; }
506
- }
507
-
508
498
}
509
499
}
0 commit comments