[release/v7.4] Fix $PSDefaultParameterValues leak causing tests to skip unexpectedly (#26869)

This commit is contained in:
Travis Plunk
2026-02-20 22:41:08 +00:00
committed by GitHub
parent 510db2d7a6
commit f9cd7d98c6
6 changed files with 10 additions and 6 deletions
@@ -7,6 +7,7 @@ $DefaultResultValue = 0
try
{
# set up for testing
$originalDefaultParameterValues = $PSDefaultParameterValues.Clone()
$PSDefaultParameterValues["it:skip"] = ! $IsWindows
Enable-Testhook -testhookName $RenameTesthook
# we also set TestStopComputer
@@ -73,7 +74,7 @@ try
}
finally
{
$PSDefaultParameterValues.Remove("it:skip")
$global:PSDefaultParameterValues = $originalDefaultParameterValues
Disable-Testhook -testhookName $RenameTestHook
Disable-Testhook -testhookName TestStopComputer
Set-TesthookResult -testhookName $RenameResultName -value 0
@@ -3,6 +3,7 @@
Describe "Acl cmdlets are available and operate properly" -Tag CI {
Context "Windows ACL test" {
BeforeAll {
$originalDefaultParameterValues = $PSDefaultParameterValues.Clone()
$PSDefaultParameterValues["It:Skip"] = -not $IsWindows
}
@@ -78,7 +79,7 @@ Describe "Acl cmdlets are available and operate properly" -Tag CI {
}
AfterAll {
$PSDefaultParameterValues.Remove("It:Skip")
$global:PSDefaultParameterValues = $originalDefaultParameterValues
}
}
}
@@ -3,6 +3,8 @@
Describe "CIM Objects are adapted properly" -Tag @("CI") {
BeforeAll {
$originalDefaultParameterValues = $PSDefaultParameterValues.Clone()
function getIndex
{
param([string[]]$strings,[string]$pattern)
@@ -32,7 +34,7 @@ Describe "CIM Objects are adapted properly" -Tag @("CI") {
}
}
AfterAll {
$PSDefaultParameterValues.Remove("it:pending")
$global:PSDefaultParameterValues = $originalDefaultParameterValues
}
It "Namespace-qualified Win32_Process is present" -Skip:(!$IsWindows) {
@@ -83,9 +83,7 @@ Describe "JEA session Transcript script test" -Tag @("Feature", 'RequireAdminOnW
AfterAll {
if ($skipTest) {
Pop-DefaultParameterValueStack
return
}
Pop-DefaultParameterValueStack
}
It "Configuration name should be in the transcript header" {
@@ -1,6 +1,7 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
try {
$originalDefaultParameterValues = $PSDefaultParameterValues.Clone()
if ( ! $IsWindows ) {
$PSDefaultParameterValues['it:skip'] = $true
}
@@ -52,5 +53,5 @@ try {
}
}
finally {
$PSDefaultParameterValues.remove("it:skip")
$global:PSDefaultParameterValues = $originalDefaultParameterValues
}
@@ -89,6 +89,7 @@ Describe "Windows file content signatures" -Tags @('Feature', 'RequireAdminOnWin
AfterAll {
if ($shouldSkip) {
Pop-DefaultParameterValueStack
return
}