diff options
Diffstat (limited to 'src/test/burn/TestBA/TestBA.cs')
-rw-r--r-- | src/test/burn/TestBA/TestBA.cs | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/test/burn/TestBA/TestBA.cs b/src/test/burn/TestBA/TestBA.cs index c219ce9c..fdbcc6d4 100644 --- a/src/test/burn/TestBA/TestBA.cs +++ b/src/test/burn/TestBA/TestBA.cs | |||
@@ -4,6 +4,7 @@ namespace WixToolset.Test.BA | |||
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
7 | using System.Diagnostics; | ||
7 | using System.IO; | 8 | using System.IO; |
8 | using System.Linq; | 9 | using System.Linq; |
9 | using System.Threading; | 10 | using System.Threading; |
@@ -37,6 +38,7 @@ namespace WixToolset.Test.BA | |||
37 | private string cancelExecuteActionName; | 38 | private string cancelExecuteActionName; |
38 | private int cancelOnProgressAtProgress; | 39 | private int cancelOnProgressAtProgress; |
39 | private int retryExecuteFilesInUse; | 40 | private int retryExecuteFilesInUse; |
41 | private bool rollingBack; | ||
40 | 42 | ||
41 | private IBootstrapperCommand Command { get; } | 43 | private IBootstrapperCommand Command { get; } |
42 | 44 | ||
@@ -350,6 +352,8 @@ namespace WixToolset.Test.BA | |||
350 | { | 352 | { |
351 | this.Log("OnExecutePackageBegin() - package: {0}, rollback: {1}", args.PackageId, !args.ShouldExecute); | 353 | this.Log("OnExecutePackageBegin() - package: {0}, rollback: {1}", args.PackageId, !args.ShouldExecute); |
352 | 354 | ||
355 | this.rollingBack = !args.ShouldExecute; | ||
356 | |||
353 | string slowProgress = this.ReadPackageAction(args.PackageId, "SlowExecute"); | 357 | string slowProgress = this.ReadPackageAction(args.PackageId, "SlowExecute"); |
354 | if (String.IsNullOrEmpty(slowProgress) || !Int32.TryParse(slowProgress, out this.sleepDuringExecute)) | 358 | if (String.IsNullOrEmpty(slowProgress) || !Int32.TryParse(slowProgress, out this.sleepDuringExecute)) |
355 | { | 359 | { |
@@ -404,7 +408,7 @@ namespace WixToolset.Test.BA | |||
404 | if (!String.IsNullOrEmpty(recordTestRegistryValue) && Boolean.TryParse(recordTestRegistryValue, out logTestRegistryValue) && logTestRegistryValue) | 408 | if (!String.IsNullOrEmpty(recordTestRegistryValue) && Boolean.TryParse(recordTestRegistryValue, out logTestRegistryValue) && logTestRegistryValue) |
405 | { | 409 | { |
406 | var value = this.ReadTestRegistryValue(args.PackageId); | 410 | var value = this.ReadTestRegistryValue(args.PackageId); |
407 | this.Log("TestRegistryValue: {0}, Version, '{1}'", args.PackageId, value); | 411 | this.Log("TestRegistryValue: {0}, {1}, Version, '{2}'", this.rollingBack ? "Rollback" : "Execute", args.PackageId, value); |
408 | } | 412 | } |
409 | } | 413 | } |
410 | 414 | ||
@@ -419,8 +423,22 @@ namespace WixToolset.Test.BA | |||
419 | 423 | ||
420 | if (args.Action == BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION.Abandon) | 424 | if (args.Action == BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION.Abandon) |
421 | { | 425 | { |
422 | // Give time to the process to start before its files are deleted. | 426 | // Kill process to make sure it doesn't affect other tests. |
423 | Thread.Sleep(2000); | 427 | try |
428 | { | ||
429 | using (Process process = Process.GetProcessById(args.ProcessId)) | ||
430 | { | ||
431 | if (process != null) | ||
432 | { | ||
433 | process.Kill(); | ||
434 | } | ||
435 | } | ||
436 | } | ||
437 | catch (Exception e) | ||
438 | { | ||
439 | this.Log("Failed to kill process {0}: {1}", args.ProcessId, e); | ||
440 | Thread.Sleep(5000); | ||
441 | } | ||
424 | } | 442 | } |
425 | 443 | ||
426 | this.Log("OnExecuteProcessCancel({0})", args.Action); | 444 | this.Log("OnExecuteProcessCancel({0})", args.Action); |
@@ -494,6 +512,7 @@ namespace WixToolset.Test.BA | |||
494 | this.cancelOnProgressAtProgress = -1; | 512 | this.cancelOnProgressAtProgress = -1; |
495 | this.cancelExecuteAtProgress = -1; | 513 | this.cancelExecuteAtProgress = -1; |
496 | this.cancelCacheAtProgress = -1; | 514 | this.cancelCacheAtProgress = -1; |
515 | this.rollingBack = false; | ||
497 | } | 516 | } |
498 | 517 | ||
499 | protected override void OnApplyComplete(ApplyCompleteEventArgs args) | 518 | protected override void OnApplyComplete(ApplyCompleteEventArgs args) |