diff --git a/.vsts-ci/templates/ci-build.yml b/.vsts-ci/templates/ci-build.yml index cbbd5349417..e64ab4967a2 100644 --- a/.vsts-ci/templates/ci-build.yml +++ b/.vsts-ci/templates/ci-build.yml @@ -1,5 +1,5 @@ parameters: - pool: 'vs2017-win2016' + pool: 'windows-latest' jobName: 'win_build' displayName: Windows Build diff --git a/.vsts-ci/templates/credscan.yml b/.vsts-ci/templates/credscan.yml index f6ed5b8fd23..60094ff3d77 100644 --- a/.vsts-ci/templates/credscan.yml +++ b/.vsts-ci/templates/credscan.yml @@ -1,12 +1,12 @@ parameters: - pool: 'Hosted VS2017' + pool: 'windows-latest' jobName: 'credscan' displayName: Secret Scan jobs: - job: ${{ parameters.jobName }} pool: - name: ${{ parameters.pool }} + vmImage: ${{ parameters.pool }} displayName: ${{ parameters.displayName }} diff --git a/.vsts-ci/templates/nanoserver.yml b/.vsts-ci/templates/nanoserver.yml index c989d01c2f8..ae9f639b3b2 100644 --- a/.vsts-ci/templates/nanoserver.yml +++ b/.vsts-ci/templates/nanoserver.yml @@ -1,5 +1,5 @@ parameters: - vmImage: 'windows-2019' + vmImage: 'windows-latest' jobName: 'Nanoserver_Tests' continueOnError: false diff --git a/.vsts-ci/templates/verify-xunit.yml b/.vsts-ci/templates/verify-xunit.yml index 9e09584d5c3..d2799f53ae0 100644 --- a/.vsts-ci/templates/verify-xunit.yml +++ b/.vsts-ci/templates/verify-xunit.yml @@ -1,6 +1,6 @@ parameters: parentJobs: [] - pool: 'vs2017-win2016' + pool: 'windows-latest' jobName: 'xunit_verify' jobs: diff --git a/.vsts-ci/templates/windows-test.yml b/.vsts-ci/templates/windows-test.yml index b316f8f360e..475c40c665c 100644 --- a/.vsts-ci/templates/windows-test.yml +++ b/.vsts-ci/templates/windows-test.yml @@ -1,5 +1,5 @@ parameters: - pool: 'Hosted VS2017' + pool: 'windows-latest' parentJobs: [] purpose: '' tagSet: 'CI' @@ -9,7 +9,7 @@ jobs: dependsOn: ${{ parameters.parentJobs }} pool: - name: ${{ parameters.pool }} + vmImage: ${{ parameters.pool }} displayName: Windows Test - ${{ parameters.purpose }} - ${{ parameters.tagSet }} diff --git a/.vsts-ci/windows-daily.yml b/.vsts-ci/windows-daily.yml index 9171112b362..55470e6dd53 100644 --- a/.vsts-ci/windows-daily.yml +++ b/.vsts-ci/windows-daily.yml @@ -53,7 +53,7 @@ stages: jobs: - job: win_test pool: - vmImage: vs2017-win2016 + vmImage: windows-latest displayName: Windows Test timeoutInMinutes: 90 diff --git a/.vsts-ci/windows/templates/windows-packaging.yml b/.vsts-ci/windows/templates/windows-packaging.yml index 88a557ca032..832fe73af5e 100644 --- a/.vsts-ci/windows/templates/windows-packaging.yml +++ b/.vsts-ci/windows/templates/windows-packaging.yml @@ -1,6 +1,6 @@ parameters: - name: pool - default: 'Hosted VS2017' + default: 'windows-latest' - name: jobName default: 'win_packaging' - name: runtimePrefix @@ -24,7 +24,7 @@ jobs: value: $(Agent.BuildDirectory)\$(complianceRepoFolder) pool: - name: ${{ parameters.pool }} + vmImage: ${{ parameters.pool }} displayName: Windows Packaging - ${{ parameters.architecture }} - ${{ parameters.channel }} diff --git a/test/powershell/Modules/Microsoft.PowerShell.Core/CompatiblePSEditions.Module.Tests.ps1 b/test/powershell/Modules/Microsoft.PowerShell.Core/CompatiblePSEditions.Module.Tests.ps1 index f9094254ec3..61f9f8e0f9f 100644 --- a/test/powershell/Modules/Microsoft.PowerShell.Core/CompatiblePSEditions.Module.Tests.ps1 +++ b/test/powershell/Modules/Microsoft.PowerShell.Core/CompatiblePSEditions.Module.Tests.ps1 @@ -600,9 +600,14 @@ Describe "Additional tests for Import-Module with WinCompat" -Tag "Feature" { It "NoClobber WinCompat import works for an engine module through -UseWindowsPowerShell parameter" { + # pre-test cleanup + Get-Module -Name Microsoft.PowerShell.Management | Remove-Module + Import-Module -Name Microsoft.PowerShell.Management # import the one that comes with PSCore + Import-Module Microsoft.PowerShell.Management -UseWindowsPowerShell $modules = Get-Module -Name Microsoft.PowerShell.Management + $modules.Count | Should -Be 2 $proxyModule = $modules | Where-Object {$_.ModuleType -eq 'Script'} $coreModule = $modules | Where-Object {$_.ModuleType -eq 'Manifest'} @@ -703,6 +708,10 @@ Remove-Module $desktopModuleToUse Restore-ModulePath } + BeforeEach { + Get-PSSession -Name WinPSCompatSession -ErrorAction SilentlyContinue | Remove-PSSession + } + AfterEach { Get-Module $allModules | Remove-Module -Force } diff --git a/test/powershell/Modules/Microsoft.WSMan.Management/CredSSP.Tests.ps1 b/test/powershell/Modules/Microsoft.WSMan.Management/CredSSP.Tests.ps1 index e440c8093f8..0f13e8e6aad 100644 --- a/test/powershell/Modules/Microsoft.WSMan.Management/CredSSP.Tests.ps1 +++ b/test/powershell/Modules/Microsoft.WSMan.Management/CredSSP.Tests.ps1 @@ -1,5 +1,8 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. + +Import-Module HelpersCommon + Describe "CredSSP cmdlet tests" -Tags 'Feature','RequireAdminOnWindows' { BeforeAll { @@ -44,21 +47,27 @@ Describe "CredSSP cmdlet tests" -Tags 'Feature','RequireAdminOnWindows' { } It "Enable-WSManCredSSP works: " -Skip:($NotEnglish -or $IsToBeSkipped) -TestCases @( - @{params=@{Role="Client";DelegateComputer="*"};description="client"}, - @{params=@{Role="Server"};description="server"} + @{ params = @{ Role="Client"; DelegateComputer="*" }; description = "client"; expected = "The machine is configured to allow delegating fresh credentials to the following target\(s\):wsman/\*" }, + @{ params = @{ Role="Server" }; description = "server"; expected = "This computer is configured to receive credentials from a remote client computer" } ) { - param ($params) + param ($params, $description, $expected) + $c = Enable-WSManCredSSP @params -Force $c.CredSSP | Should -BeTrue - $c = Get-WSManCredSSP if ($params.Role -eq "Client") { - $c[0] | Should -Match "The machine is configured to allow delegating fresh credentials to the following target\(s\):wsman/\*" + Wait-UntilTrue -IntervalInMilliseconds 500 -sb { + $c = Get-WSManCredSSP + $c[0] -match $expected + } | Should -BeTrue -Because "WSManCredSSP should have been enabled to allow delegating fresh credentials to wsman/*, but it was not." } else { - $c[1] | Should -Match "This computer is configured to receive credentials from a remote client computer" + Wait-UntilTrue -IntervalInMilliseconds 500 -sb { + $c = Get-WSManCredSSP + $c[1] -match $expected + } | Should -BeTrue -Because "WSManCredSSP should have been enabled to allow receiving credentials from a remote client computer, but it was not." } }