@@ -245,13 +245,17 @@ export default class TestManager extends AbstractProvider {
245245 TargetFrameworkVersion : targetFrameworkVersion
246246 } ;
247247
248- let response = await serverUtils . debugTestGetStartInfo ( this . _server , request ) ;
249- listener . dispose ( ) ;
250- return this . _createLaunchConfiguration (
251- response . FileName ,
252- response . Arguments ,
253- response . WorkingDirectory ,
254- debugEventListener . pipePath ( ) ) ;
248+ try {
249+ let response = await serverUtils . debugTestGetStartInfo ( this . _server , request ) ;
250+ return this . _createLaunchConfiguration (
251+ response . FileName ,
252+ response . Arguments ,
253+ response . WorkingDirectory ,
254+ debugEventListener . pipePath ( ) ) ;
255+ }
256+ finally {
257+ listener . dispose ( ) ;
258+ }
255259 }
256260
257261 private async _getLaunchConfigurationForLegacy ( fileName : string , testMethod : string , testFrameworkName : string , targetFrameworkVersion : string ) : Promise < LaunchConfiguration > {
@@ -268,9 +272,13 @@ export default class TestManager extends AbstractProvider {
268272 TargetFrameworkVersion : targetFrameworkVersion
269273 } ;
270274
271- let response = await serverUtils . getTestStartInfo ( this . _server , request ) ;
272- listener . dispose ( ) ;
273- return this . _createLaunchConfiguration ( response . Executable , response . Argument , response . WorkingDirectory , null ) ;
275+ try {
276+ let response = await serverUtils . getTestStartInfo ( this . _server , request ) ;
277+ return this . _createLaunchConfiguration ( response . Executable , response . Argument , response . WorkingDirectory , null ) ;
278+ }
279+ finally {
280+ listener . dispose ( ) ;
281+ }
274282 }
275283
276284 private async _getLaunchConfiguration (
@@ -388,9 +396,13 @@ export default class TestManager extends AbstractProvider {
388396 TargetFrameworkVersion : targetFrameworkVersion
389397 } ;
390398
391- let response = await serverUtils . debugTestClassGetStartInfo ( this . _server , request ) ;
392- listener . dispose ( ) ;
393- return this . _createLaunchConfiguration ( response . FileName , response . Arguments , response . WorkingDirectory , debugEventListener . pipePath ( ) ) ;
399+ try {
400+ let response = await serverUtils . debugTestClassGetStartInfo ( this . _server , request ) ;
401+ return this . _createLaunchConfiguration ( response . FileName , response . Arguments , response . WorkingDirectory , debugEventListener . pipePath ( ) ) ;
402+ }
403+ finally {
404+ listener . dispose ( ) ;
405+ }
394406 }
395407}
396408
@@ -504,8 +516,12 @@ class DebugEventListener {
504516 this . _eventStream . post ( new DotNetTestMessage ( e . Message ) ) ;
505517 } ) ;
506518
507- await serverUtils . debugTestLaunch ( this . _server , request ) ;
508- disposable . dispose ( ) ;
519+ try {
520+ await serverUtils . debugTestLaunch ( this . _server , request ) ;
521+ }
522+ finally {
523+ disposable . dispose ( ) ;
524+ }
509525 }
510526
511527 private onDebuggingStopped ( ) : void {
0 commit comments