@@ -131,7 +131,6 @@ private async Task TrySetUpForCollectionAsync(string solutionDirectory)
131131 IUserRunSettingsAnalysisResult analysisResult = await TryAnalyseUserRunSettingsAsync ( ) ;
132132 if ( analysisResult . Ok ( ) )
133133 {
134-
135134 await SetUpForCollectionAsync (
136135 analysisResult . ProjectsWithFCCMsTestAdapter ,
137136 analysisResult . SpecifiedMsCodeCoverage ,
@@ -149,7 +148,7 @@ string solutionDirectory
149148 await PrepareCoverageProjectsAsync ( ) ;
150149 SetUserRunSettingsProjectDetails ( ) ;
151150
152- await GenerateTemplatedRunSettingsAsync (
151+ await GenerateTemplatedRunSettingsIfRequiredAsync (
153152 specifiedMsCodeCoverageInRunSettings ,
154153 coverageProjectsForShim ,
155154 solutionDirectory
@@ -178,42 +177,68 @@ private async Task<IUserRunSettingsAnalysisResult> TryAnalyseUserRunSettingsAsyn
178177 IUserRunSettingsAnalysisResult analysisResult = null ;
179178 try
180179 {
181- analysisResult = userRunSettingsService . Analyse (
182- coverageProjectsByType . RunSettings ,
183- useMsCodeCoverage ,
184- fccMsTestAdapterPath
185- ) ;
180+ analysisResult = await AnalyseUserRunSettingsAsync ( ) ;
186181 }
187182 catch ( Exception exc )
188183 {
189- collectionStatus = MsCodeCoverageCollectionStatus . Error ;
190- await CombinedLogExceptionAsync ( exc , "Exception analysing runsettings files" ) ;
184+ await ExceptionAnalysingUserRunSettingsAsync ( exc ) ;
191185 }
192186
193- if ( analysisResult . Ok ( ) )
187+ return analysisResult ;
188+ }
189+
190+ private Task ExceptionAnalysingUserRunSettingsAsync ( Exception exc )
191+ {
192+ collectionStatus = MsCodeCoverageCollectionStatus . Error ;
193+ return CombinedLogExceptionAsync ( exc , "Exception analysing runsettings files" ) ;
194+ }
195+
196+ private async Task < IUserRunSettingsAnalysisResult > AnalyseUserRunSettingsAsync ( )
197+ {
198+ var analysisResult = userRunSettingsService . Analyse (
199+ coverageProjectsByType . RunSettings ,
200+ useMsCodeCoverage ,
201+ fccMsTestAdapterPath
202+ ) ;
203+
204+ if ( analysisResult . Suitable )
194205 {
195206 await CollectingIfUserRunSettingsOnlyAsync ( ) ;
196207 }
208+
197209 return analysisResult ;
198210 }
199211
200- private async Task GenerateTemplatedRunSettingsAsync (
212+ private async Task GenerateTemplatedRunSettingsIfRequiredAsync (
201213 bool runSettingsSpecifiedMsCodeCoverage ,
202214 List < ICoverageProject > coverageProjectsForShim ,
203215 string solutionDirectory
204216 )
205217 {
206- if ( coverageProjectsByType . HasTemplated ( ) && ( useMsCodeCoverage || runSettingsSpecifiedMsCodeCoverage ) )
218+ if ( ShouldGenerateTemplatedRunSettings ( runSettingsSpecifiedMsCodeCoverage ) )
207219 {
208- var generationResult = await templatedRunSettingsService . GenerateAsync (
209- coverageProjectsByType . Templated ,
210- solutionDirectory ,
211- fccMsTestAdapterPath
212- ) ;
213-
214- await ProcessTemplateGenerationResultAsync ( generationResult , coverageProjectsForShim ) ;
220+ await GenerateTemplatedRunSettingsAsync ( coverageProjectsForShim , solutionDirectory ) ;
215221 }
216222 }
223+ private async Task GenerateTemplatedRunSettingsAsync (
224+ List < ICoverageProject > coverageProjectsForShim ,
225+ string solutionDirectory
226+ )
227+ {
228+ var generationResult = await templatedRunSettingsService . GenerateAsync (
229+ coverageProjectsByType . Templated ,
230+ solutionDirectory ,
231+ fccMsTestAdapterPath
232+ ) ;
233+
234+ await ProcessTemplateGenerationResultAsync ( generationResult , coverageProjectsForShim ) ;
235+ }
236+
237+
238+ private bool ShouldGenerateTemplatedRunSettings ( bool runSettingsSpecifiedMsCodeCoverage )
239+ {
240+ return coverageProjectsByType . HasTemplated ( ) && ( useMsCodeCoverage || runSettingsSpecifiedMsCodeCoverage ) ;
241+ }
217242
218243 private async Task ProcessTemplateGenerationResultAsync ( IProjectRunSettingsFromTemplateResult generationResult , List < ICoverageProject > coverageProjectsForShim )
219244 {
0 commit comments