From dea657295df261bb0e3e4d620eeae321531e3a11 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Tue, 14 Jun 2022 15:09:49 -0500 Subject: Add ability for non-vital cache package action. --- src/test/burn/TestBA/TestBA.cs | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'src/test/burn/TestBA/TestBA.cs') diff --git a/src/test/burn/TestBA/TestBA.cs b/src/test/burn/TestBA/TestBA.cs index 9ca82377..7e3d2623 100644 --- a/src/test/burn/TestBA/TestBA.cs +++ b/src/test/burn/TestBA/TestBA.cs @@ -27,6 +27,7 @@ namespace WixToolset.Test.BA private string updateBundlePath; + private bool allowAcquireAfterValidationFailure; private bool forceKeepRegistration; private bool immediatelyQuit; private bool quitAfterDetect; @@ -85,7 +86,11 @@ namespace WixToolset.Test.BA List verifyArguments = this.ReadVerifyArguments(); - foreach (string arg in BootstrapperCommand.ParseCommandLineToArgs(this.Command.CommandLine)) + IBootstrapperApplicationData baManifest = new BootstrapperApplicationData(); + IMbaCommand mbaCommand = this.Command.ParseCommandLine(); + mbaCommand.SetOverridableVariables(baManifest.Bundle.OverridableVariables, this.engine); + + foreach (string arg in mbaCommand.UnknownCommandLineArgs) { // If we're not in the update already, process the updatebundle. if (this.Command.Relation != RelationType.Update && arg.StartsWith("-updatebundle:", StringComparison.OrdinalIgnoreCase)) @@ -126,6 +131,12 @@ namespace WixToolset.Test.BA redetectCount = 0; } + string allowAcquireAfterValidationFailure = this.ReadPackageAction(null, "AllowAcquireAfterValidationFailure"); + if (String.IsNullOrEmpty(allowAcquireAfterValidationFailure) || !Boolean.TryParse(allowAcquireAfterValidationFailure, out this.allowAcquireAfterValidationFailure)) + { + this.allowAcquireAfterValidationFailure = false; + } + string explicitlyElevateAndPlanFromOnElevateBegin = this.ReadPackageAction(null, "ExplicitlyElevateAndPlanFromOnElevateBegin"); if (String.IsNullOrEmpty(explicitlyElevateAndPlanFromOnElevateBegin) || !Boolean.TryParse(explicitlyElevateAndPlanFromOnElevateBegin, out this.explicitlyElevateAndPlanFromOnElevateBegin)) { @@ -277,6 +288,15 @@ namespace WixToolset.Test.BA { args.State = state; } + + BOOTSTRAPPER_CACHE_TYPE cacheType; + string cacheAction = this.ReadPackageAction(args.PackageId, "CacheRequested"); + if (TryParseEnum(cacheAction, out cacheType)) + { + args.CacheType = cacheType; + } + + this.Log("OnPlanPackageBegin() - id: {0}, defaultState: {1}, requestedState: {2}, defaultCache: {3}, requestedCache: {4}", args.PackageId, args.RecommendedState, args.State, args.RecommendedCacheType, args.CacheType); } protected override void OnPlanPatchTarget(PlanPatchTargetEventArgs args) @@ -337,6 +357,16 @@ namespace WixToolset.Test.BA } } + protected override void OnCachePackageNonVitalValidationFailure(CachePackageNonVitalValidationFailureEventArgs args) + { + if (this.allowAcquireAfterValidationFailure) + { + args.Action = BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION.Acquire; + } + + this.Log("OnCachePackageNonVitalValidationFailure() - id: {0}, default: {1}, requested: {2}", args.PackageId, args.Recommendation, args.Action); + } + protected override void OnCacheAcquireProgress(CacheAcquireProgressEventArgs args) { this.Log("OnCacheAcquireProgress() - container/package: {0}, payload: {1}, progress: {2}, total: {3}, overall progress: {4}%", args.PackageOrContainerId, args.PayloadId, args.Progress, args.Total, args.OverallPercentage); -- cgit v1.2.3-55-g6feb