From b1af9ea23043076951e4672e28c5061395c427b2 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Fri, 27 Oct 2017 04:40:14 +0800 Subject: [PATCH] -Verbose should not override $ErrorActionPreference (#5113) * -Verbose should not override $ErrorActionPreference * apply same fix to -debug and added test case * address Aditya's feedback --- .../engine/MshCommandRuntime.cs | 7 ------- .../Scripting/ActionPreference.Tests.ps1 | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/System.Management.Automation/engine/MshCommandRuntime.cs b/src/System.Management.Automation/engine/MshCommandRuntime.cs index be5ce9d30..a948940ed 100644 --- a/src/System.Management.Automation/engine/MshCommandRuntime.cs +++ b/src/System.Management.Automation/engine/MshCommandRuntime.cs @@ -3212,13 +3212,6 @@ namespace System.Management.Automation if (IsErrorActionSet) return _errorAction; - // Debug takes preference over Verbose - if (Debug) - return ActionPreference.Inquire; - if (Verbose) - return ActionPreference.Continue; - - // fall back to $ErrorAction if (!_isErrorActionPreferenceCached) { bool defaultUsed = false; diff --git a/test/powershell/Language/Scripting/ActionPreference.Tests.ps1 b/test/powershell/Language/Scripting/ActionPreference.Tests.ps1 index 091599af8..3edf8d8aa 100644 --- a/test/powershell/Language/Scripting/ActionPreference.Tests.ps1 +++ b/test/powershell/Language/Scripting/ActionPreference.Tests.ps1 @@ -126,4 +126,23 @@ } $num | Should Be 2 } + + It ' does not take precedence over $ErrorActionPreference' -TestCases @( + @{switch="-Verbose"}, + @{switch="-Debug"} + ) { + param($switch) + $ErrorActionPreference = "SilentlyContinue" + $params = @{ + ItemType = "File"; + Path = "$testdrive\test.txt"; + Confirm = $false + } + New-Item @params > $null + $params += @{$switch=$true} + { New-Item @params } | Should Not Throw + $ErrorActionPreference = "Stop" + { New-Item @params } | ShouldBeErrorId "NewItemIOError,Microsoft.PowerShell.Commands.NewItemCommand" + Remove-Item "$testdrive\test.txt" -Force + } }