@@ -110,10 +110,11 @@ export default class TestManager extends AbstractProvider {
110110 vscode . workspace . saveAll ( /*includeUntitled*/ false ) ) ;
111111 }
112112
113- private async _runTest ( fileName : string , testMethod : string , testFrameworkName : string , targetFrameworkVersion : string ) : Promise < protocol . V2 . DotNetTestResult [ ] > {
113+ private async _runTest ( fileName : string , testMethod : string , runSettings : string , testFrameworkName : string , targetFrameworkVersion : string ) : Promise < protocol . V2 . DotNetTestResult [ ] > {
114114 const request : protocol . V2 . RunTestRequest = {
115115 FileName : fileName ,
116116 MethodName : testMethod ,
117+ RunSettings : runSettings ,
117118 TestFrameworkName : testFrameworkName ,
118119 TargetFrameworkVersion : targetFrameworkVersion
119120 } ;
@@ -163,9 +164,10 @@ export default class TestManager extends AbstractProvider {
163164 } ) ;
164165
165166 let targetFrameworkVersion = await this . _recordRunAndGetFrameworkVersion ( fileName , testFrameworkName ) ;
167+ let runSettings = vscode . workspace . getConfiguration ( 'omnisharp' ) . get < string > ( 'testRunSettings' ) ;
166168
167169 try {
168- let results = await this . _runTest ( fileName , testMethod , testFrameworkName , targetFrameworkVersion ) ;
170+ let results = await this . _runTest ( fileName , testMethod , runSettings , testFrameworkName , targetFrameworkVersion ) ;
169171 this . _eventStream . post ( new ReportDotNetTestResults ( results ) ) ;
170172 }
171173 catch ( reason ) {
@@ -186,9 +188,10 @@ export default class TestManager extends AbstractProvider {
186188 } ) ;
187189
188190 let targetFrameworkVersion = await this . _recordRunAndGetFrameworkVersion ( fileName , testFrameworkName ) ;
191+ let runSettings = vscode . workspace . getConfiguration ( 'omnisharp' ) . get < string > ( 'testRunSettings' ) ;
189192
190193 try {
191- let results = await this . _runTestsInClass ( fileName , testFrameworkName , targetFrameworkVersion , methodsInClass ) ;
194+ let results = await this . _runTestsInClass ( fileName , runSettings , testFrameworkName , targetFrameworkVersion , methodsInClass ) ;
192195 this . _eventStream . post ( new ReportDotNetTestResults ( results ) ) ;
193196 }
194197 catch ( reason ) {
@@ -199,9 +202,10 @@ export default class TestManager extends AbstractProvider {
199202 }
200203 }
201204
202- private async _runTestsInClass ( fileName : string , testFrameworkName : string , targetFrameworkVersion : string , methodsToRun : string [ ] ) : Promise < protocol . V2 . DotNetTestResult [ ] > {
205+ private async _runTestsInClass ( fileName : string , runSettings : string , testFrameworkName : string , targetFrameworkVersion : string , methodsToRun : string [ ] ) : Promise < protocol . V2 . DotNetTestResult [ ] > {
203206 const request : protocol . V2 . RunTestsInClassRequest = {
204207 FileName : fileName ,
208+ RunSettings : runSettings ,
205209 TestFrameworkName : testFrameworkName ,
206210 TargetFrameworkVersion : targetFrameworkVersion ,
207211 MethodNames : methodsToRun
@@ -241,6 +245,7 @@ export default class TestManager extends AbstractProvider {
241245 private async _getLaunchConfigurationForVSTest (
242246 fileName : string ,
243247 testMethod : string ,
248+ runSettings : string ,
244249 testFrameworkName : string ,
245250 targetFrameworkVersion : string ,
246251 debugEventListener : DebugEventListener ) : Promise < LaunchConfiguration > {
@@ -253,6 +258,7 @@ export default class TestManager extends AbstractProvider {
253258 const request : protocol . V2 . DebugTestGetStartInfoRequest = {
254259 FileName : fileName ,
255260 MethodName : testMethod ,
261+ RunSettings : runSettings ,
256262 TestFrameworkName : testFrameworkName ,
257263 TargetFrameworkVersion : targetFrameworkVersion
258264 } ;
@@ -270,7 +276,7 @@ export default class TestManager extends AbstractProvider {
270276 }
271277 }
272278
273- private async _getLaunchConfigurationForLegacy ( fileName : string , testMethod : string , testFrameworkName : string , targetFrameworkVersion : string ) : Promise < LaunchConfiguration > {
279+ private async _getLaunchConfigurationForLegacy ( fileName : string , testMethod : string , runSettings : string , testFrameworkName : string , targetFrameworkVersion : string ) : Promise < LaunchConfiguration > {
274280
275281 // Listen for test messages while getting start info.
276282 const listener = this . _server . onTestMessage ( e => {
@@ -280,6 +286,7 @@ export default class TestManager extends AbstractProvider {
280286 const request : protocol . V2 . GetTestStartInfoRequest = {
281287 FileName : fileName ,
282288 MethodName : testMethod ,
289+ RunSettings : runSettings ,
283290 TestFrameworkName : testFrameworkName ,
284291 TargetFrameworkVersion : targetFrameworkVersion
285292 } ;
@@ -297,14 +304,15 @@ export default class TestManager extends AbstractProvider {
297304 debugType : string ,
298305 fileName : string ,
299306 testMethod : string ,
307+ runSettings : string ,
300308 testFrameworkName : string ,
301309 targetFrameworkVersion : string ,
302310 debugEventListener : DebugEventListener ) : Promise < LaunchConfiguration > {
303311 switch ( debugType ) {
304312 case 'legacy' :
305- return this . _getLaunchConfigurationForLegacy ( fileName , testMethod , testFrameworkName , targetFrameworkVersion ) ;
313+ return this . _getLaunchConfigurationForLegacy ( fileName , testMethod , runSettings , testFrameworkName , targetFrameworkVersion ) ;
306314 case 'vstest' :
307- return this . _getLaunchConfigurationForVSTest ( fileName , testMethod , testFrameworkName , targetFrameworkVersion , debugEventListener ) ;
315+ return this . _getLaunchConfigurationForVSTest ( fileName , testMethod , runSettings , testFrameworkName , targetFrameworkVersion , debugEventListener ) ;
308316
309317 default :
310318 throw new Error ( `Unexpected debug type: ${ debugType } ` ) ;
@@ -350,9 +358,10 @@ export default class TestManager extends AbstractProvider {
350358 this . _eventStream . post ( new DotNetTestDebugStart ( testMethod ) ) ;
351359
352360 let { debugType, debugEventListener, targetFrameworkVersion } = await this . _recordDebugAndGetDebugValues ( fileName , testFrameworkName ) ;
361+ let runSettings = vscode . workspace . getConfiguration ( 'omnisharp' ) . get < string > ( 'testRunSettings' ) ;
353362
354363 try {
355- let config = await this . _getLaunchConfiguration ( debugType , fileName , testMethod , testFrameworkName , targetFrameworkVersion , debugEventListener ) ;
364+ let config = await this . _getLaunchConfiguration ( debugType , fileName , testMethod , runSettings , testFrameworkName , targetFrameworkVersion , debugEventListener ) ;
356365 const workspaceFolder = vscode . workspace . getWorkspaceFolder ( vscode . Uri . file ( fileName ) ) ;
357366 return vscode . debug . startDebugging ( workspaceFolder , config ) ;
358367 }
@@ -369,9 +378,10 @@ export default class TestManager extends AbstractProvider {
369378 this . _eventStream . post ( new DotNetTestsInClassDebugStart ( className ) ) ;
370379
371380 let { debugType, debugEventListener, targetFrameworkVersion } = await this . _recordDebugAndGetDebugValues ( fileName , testFrameworkName ) ;
381+ let runSettings = vscode . workspace . getConfiguration ( 'omnisharp' ) . get < string > ( 'testRunSettings' ) ;
372382
373383 try {
374- let config = await this . _getLaunchConfigurationForClass ( debugType , fileName , methodsToRun , testFrameworkName , targetFrameworkVersion , debugEventListener ) ;
384+ let config = await this . _getLaunchConfigurationForClass ( debugType , fileName , methodsToRun , runSettings , testFrameworkName , targetFrameworkVersion , debugEventListener ) ;
375385 const workspaceFolder = vscode . workspace . getWorkspaceFolder ( vscode . Uri . file ( fileName ) ) ;
376386 return vscode . debug . startDebugging ( workspaceFolder , config ) ;
377387 }
@@ -387,18 +397,20 @@ export default class TestManager extends AbstractProvider {
387397 debugType : string ,
388398 fileName : string ,
389399 methodsToRun : string [ ] ,
400+ runSettings : string ,
390401 testFrameworkName : string ,
391402 targetFrameworkVersion : string ,
392403 debugEventListener : DebugEventListener ) : Promise < LaunchConfiguration > {
393404 if ( debugType == 'vstest' ) {
394- return this . _getLaunchConfigurationForVSTestClass ( fileName , methodsToRun , testFrameworkName , targetFrameworkVersion , debugEventListener ) ;
405+ return this . _getLaunchConfigurationForVSTestClass ( fileName , methodsToRun , runSettings , testFrameworkName , targetFrameworkVersion , debugEventListener ) ;
395406 }
396407 throw new Error ( `Unexpected debug type: ${ debugType } ` ) ;
397408 }
398409
399410 private async _getLaunchConfigurationForVSTestClass (
400411 fileName : string ,
401412 methodsToRun : string [ ] ,
413+ runSettings : string ,
402414 testFrameworkName : string ,
403415 targetFrameworkVersion : string ,
404416 debugEventListener : DebugEventListener ) : Promise < LaunchConfiguration > {
@@ -410,6 +422,7 @@ export default class TestManager extends AbstractProvider {
410422 const request : protocol . V2 . DebugTestClassGetStartInfoRequest = {
411423 FileName : fileName ,
412424 MethodNames : methodsToRun ,
425+ RunSettings : runSettings ,
413426 TestFrameworkName : testFrameworkName ,
414427 TargetFrameworkVersion : targetFrameworkVersion
415428 } ;
0 commit comments