diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f5ab3dd2c6..13414194c0 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,7 +1,7 @@ # https://help.github.com/articles/about-codeowners/ # Areas are not limited to the filters defined in this file -# First Lets start with areas with no filters or paths +# First, let's start with areas with no filters or paths # Area: Performance # @adityapatwardhan @@ -21,33 +21,33 @@ # Area: Cmdlets Core # @JamesWTruher @SteveL-MSFT @anmenaga @chunqingchen -# Now Areas that should have paths or filters, although we might not have them defined -# According to the docs, Order here must be by precedence of the filter, with later rules overwritting +# Now, areas that should have paths or filters, although we might not have them defined +# According to the docs, order here must be by precedence of the filter, with later rules overwritting # but the feature seems to make taking a union of all the matching rules. -# Area: CmdLets Management +# Area: Cmdlets Management src/Microsoft.PowerShell.Commands.Management/ @daxian-dbw @adityapatwardhan -# Area: CmdLets Utility +# Area: Utility Cmdlets src/Microsoft.PowerShell.Commands.Utility/ @JamesWTruher @PaulHigin # Area: Console src/Microsoft.PowerShell.ConsoleHost/ @daxian-dbw @anmenaga -# Area: Demo +# Area: Demos demos/ @joeyaiello @SteveL-MSFT @HemantMahawar # Area: DSC src/System.Management.Automation/DscSupport @TravisEz13 @SteveL-MSFT -# Area: engine +# Area: Engine src/System.Management.Automation/engine @daxian-dbw @BrucePay # Area: Debugging # Must be below engine to override src/System.Management.Automation/engine/debugger/ @BrucePay @PaulHigin -# Area: help +# Area: Help src/System.Management.Automation/help @Francisco-Gamino @adityapatwardhan # Area: Intellisense diff --git a/.vsts-ci/templates/windows-build.yml b/.vsts-ci/templates/windows-build.yml index 5f6faa7f68..72682d2f58 100644 --- a/.vsts-ci/templates/windows-build.yml +++ b/.vsts-ci/templates/windows-build.yml @@ -24,13 +24,13 @@ jobs: - powershell: | [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12 Import-Module .\tools\ci.psm1 - Invoke-AppveyorInstall + Invoke-CIInstall displayName: Bootstrap condition: succeededOrFailed() - powershell: | Import-Module .\tools\ci.psm1 - Invoke-AppveyorBuild + Invoke-CIBuild displayName: Build condition: succeeded() @@ -40,4 +40,3 @@ jobs: Invoke-CIxUnit -SkipFailing displayName: xUnit Tests condition: succeeded() - diff --git a/.vsts-ci/templates/windows-packaging.yml b/.vsts-ci/templates/windows-packaging.yml index 7b974f3844..93de5804fb 100644 --- a/.vsts-ci/templates/windows-packaging.yml +++ b/.vsts-ci/templates/windows-packaging.yml @@ -20,11 +20,11 @@ jobs: - powershell: | [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12 Import-Module .\tools\ci.psm1 - Invoke-AppveyorInstall + Invoke-CIInstall displayName: Bootstrap condition: succeededOrFailed() - powershell: | Import-Module .\tools\ci.psm1 - Invoke-AppveyorFinish -NuGetKey $(NUGET_KEY) + Invoke-CIFinish -NuGetKey $(NUGET_KEY) displayName: Build and Test Package diff --git a/.vsts-ci/templates/windows-test.yml b/.vsts-ci/templates/windows-test.yml index b4f68e5ee5..3844418e40 100644 --- a/.vsts-ci/templates/windows-test.yml +++ b/.vsts-ci/templates/windows-test.yml @@ -35,7 +35,7 @@ jobs: - powershell: | [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12 Import-Module .\tools\ci.psm1 - Invoke-AppveyorInstall + Invoke-CIInstall displayName: Bootstrap condition: succeededOrFailed() @@ -46,6 +46,6 @@ jobs: $path = split-path -path $options.Output $rootPath = split-Path -path $path Expand-Archive -Path '$(System.ArtifactsDirectory)\build\build.zip' -DestinationPath $rootPath -Force - Invoke-AppveyorTest -Purpose '${{ parameters.purpose }}' -TagSet '${{ parameters.tagSet }}' + Invoke-CITest -Purpose '${{ parameters.purpose }}' -TagSet '${{ parameters.tagSet }}' displayName: Test condition: succeeded() diff --git a/docs/testing-guidelines/TestRoadmap.md b/docs/testing-guidelines/TestRoadmap.md index 0b0b92c665..ad8cc160c6 100644 --- a/docs/testing-guidelines/TestRoadmap.md +++ b/docs/testing-guidelines/TestRoadmap.md @@ -44,7 +44,6 @@ Running code coverage more often on full PowerShell is something that we should We currently run only those tests which are tagged `CI` excluding the tag `SLOW` as part of our continuous integration systems. This means roughly 1/3rd of our github tests are not being run on any regular schedule. In order to provide us with higher confidence in our code, we should be running *ALL* of our tests on a regular basis. -We have recently added to `AppVeyor` running all of our tests on a daily basis, but are not yet running these tests on Linux/Mac via `Travis`, which should be done. However, running the tests is only the first step, we need an easy way to be notified of test failures, and to track progress of those runs over time. Tracking this over time affords us the ability to see how our test count increases, implying an improvement in coverage. It also provides us mechanism whereby we can see trends in instability. @@ -194,4 +193,4 @@ Below is my suggestion for prioritization to reduce risk and improve confidence 6. Replace in-lab tests with PowerShell Core tests 7. Investigate feasibility of running current in-lab tests on PowerShell Core -These are [tracked](https://github.com/PowerShell/PowerShell/issues?utf8=%E2%9C%93&q=is%3Aissue%20%23testability%20) as issues \ No newline at end of file +These are [tracked](https://github.com/PowerShell/PowerShell/issues?utf8=%E2%9C%93&q=is%3Aissue%20%23testability%20) as issues diff --git a/src/System.Management.Automation/engine/CommandDiscovery.cs b/src/System.Management.Automation/engine/CommandDiscovery.cs index 62488f606c..239356f3dd 100644 --- a/src/System.Management.Automation/engine/CommandDiscovery.cs +++ b/src/System.Management.Automation/engine/CommandDiscovery.cs @@ -1113,7 +1113,6 @@ namespace System.Management.Automation } } - // TODO: this causes AppVeyor builds to fail due to invalid XML being output #if !CORECLR // Close the progress pane that may have popped up from analyzing UNC paths. if (context.CurrentCommandProcessor != null) diff --git a/test/powershell/engine/ExperimentalFeature/ExperimentalFeature.Basic.Tests.ps1 b/test/powershell/engine/ExperimentalFeature/ExperimentalFeature.Basic.Tests.ps1 index 84757e4909..e4d6f52937 100644 --- a/test/powershell/engine/ExperimentalFeature/ExperimentalFeature.Basic.Tests.ps1 +++ b/test/powershell/engine/ExperimentalFeature/ExperimentalFeature.Basic.Tests.ps1 @@ -16,7 +16,7 @@ Describe "Experimental Feature Basic Tests - Feature-Disabled" -tags "CI" { $TestModule = Join-Path $PSScriptRoot "assets" "ExpTest" $AssemblyPath = Join-Path $TestModule "ExpTest.dll" if (-not (Test-Path $AssemblyPath)) { - ## When using $SourcePath directly, 'Add-Type' fails in AppVeyor CI runs with an 'access denied' error. + ## When using $SourcePath directly, 'Add-Type' fails in Windows CI runs with an 'access denied' error. ## It turns out Pester doesn't handle an exception like this from 'BeforeAll'. It causes the Pester to ## be somehow corrupted, and results in random failures in other tests. ## To work around this issue, we copy the source file to 'TestDrive' before calling 'Add-Type'. diff --git a/test/tools/Modules/HelpersRemoting/HelpersRemoting.psm1 b/test/tools/Modules/HelpersRemoting/HelpersRemoting.psm1 index 8ffaf7c777..67f3056df3 100644 --- a/test/tools/Modules/HelpersRemoting/HelpersRemoting.psm1 +++ b/test/tools/Modules/HelpersRemoting/HelpersRemoting.psm1 @@ -4,10 +4,10 @@ # This module include help functions for writing remoting tests # -$Script:AppVeyorRemoteCred = $null +$Script:CIRemoteCred = $null if ($IsWindows) { - try { $Script:AppVeyorRemoteCred = Import-Clixml -Path "$env:TEMP\AppVeyorRemoteCred.xml" } catch { } + try { $Script:CIRemoteCred = Import-Clixml -Path "$env:TEMP\CIRemoteCred.xml" } catch { } } function Get-DefaultEndPointName @@ -57,10 +57,10 @@ function New-RemoteRunspace $wsmanConInfo.ShellUri = 'http://schemas.microsoft.com/powershell/' + $ConfigurationName - if ($Script:AppVeyorRemoteCred) + if ($Script:CIRemoteCred) { - Write-Verbose "Using Global AppVeyor Credential" -Verbose - $wsmanConInfo.Credential = $Script:AppVeyorRemoteCred + Write-Verbose "Using Global CI Credential" -Verbose + $wsmanConInfo.Credential = $Script:CIRemoteCred } else { @@ -92,10 +92,10 @@ function New-RemoteRunspacePool $wsmanConnection.ShellUri = "http://schemas.microsoft.com/powershell/$ConfigurationName" } - if ($Script:AppVeyorRemoteCred) + if ($Script:CIRemoteCred) { - Write-Verbose "Using Global AppVeyor Credential" -Verbose - $wsmanConnection.Credential = $Script:AppVeyorRemoteCred + Write-Verbose "Using Global CI Credential" -Verbose + $wsmanConnection.Credential = $Script:CIRemoteCred } else { @@ -104,7 +104,7 @@ function New-RemoteRunspacePool [System.Management.Automation.Runspaces.RunspacePool] $remoteRunspacePool = [runspacefactory]::CreateRunspacePool($MinRunspace, $MaxRunspace, $wsmanConnection) $remoteRunspacePool.Open() - + return $remoteRunspacePool } @@ -154,10 +154,10 @@ function CreateParameters } ## If a PSSession is provided, do not add credentials. - if ($Script:AppVeyorRemoteCred -and (-not $Session)) + if ($Script:CIRemoteCred -and (-not $Session)) { - Write-Verbose "Using Global AppVeyor Credential" -Verbose - $parameters["Credential"] = $Script:AppVeyorRemoteCred + Write-Verbose "Using Global CI Credential" -Verbose + $parameters["Credential"] = $Script:CIRemoteCred } else { diff --git a/tools/ci.psm1 b/tools/ci.psm1 index e67f6926fc..26c0718730 100644 --- a/tools/ci.psm1 +++ b/tools/ci.psm1 @@ -156,10 +156,9 @@ Function Set-BuildVariable } # Emulates running all of CI but locally -function Invoke-AppVeyorFull +function Invoke-CIFull { param( - [switch] $APPVEYOR_SCHEDULED_BUILD, [switch] $CleanRepo ) if($CleanRepo) @@ -167,14 +166,14 @@ function Invoke-AppVeyorFull Clear-PSRepo } - Invoke-AppVeyorInstall - Invoke-AppVeyorBuild - Invoke-AppVeyorTest -ErrorAction Continue - Invoke-AppveyorFinish + Invoke-CIInstall + Invoke-CIBuild + Invoke-CITest -ErrorAction Continue + Invoke-CIFinish } # Implements the CI 'build_script' step -function Invoke-AppVeyorBuild +function Invoke-CIBuild { $releaseTag = Get-ReleaseTag # check to be sure our test tags are correct @@ -208,7 +207,7 @@ function Invoke-AppVeyorBuild } # Implements the CI 'install' step -function Invoke-AppVeyorInstall +function Invoke-CIInstall { # Make sure we have all the tags Sync-PSTags -AddRemoteIfMissing @@ -240,7 +239,7 @@ function Invoke-AppVeyorInstall # Provide credentials globally for remote tests. $ss = ConvertTo-SecureString -String $password -AsPlainText -Force $ciRemoteCredential = [PSCredential]::new("$env:COMPUTERNAME\$userName", $ss) - $ciRemoteCredential | Export-Clixml -Path "$env:TEMP\AppVeyorRemoteCred.xml" -Force + $ciRemoteCredential | Export-Clixml -Path "$env:TEMP\CIRemoteCred.xml" -Force # Check that LocalAccountTokenFilterPolicy policy is set, since it is needed for remoting # using above local admin account. @@ -304,7 +303,7 @@ function Invoke-CIxUnit } # Implement CI 'Test_script' -function Invoke-AppVeyorTest +function Invoke-CITest { [CmdletBinding()] param( @@ -434,7 +433,7 @@ function Invoke-AppVeyorTest } # Implement CI 'after_test' phase -function Invoke-AppVeyorAfterTest +function Invoke-CIAfterTest { [CmdletBinding()] param() @@ -524,7 +523,7 @@ function Get-ReleaseTag } # Implements CI 'on_finish' step -function Invoke-AppveyorFinish +function Invoke-CIFinish { param( [string] $NuGetKey