mirror of
https://github.com/PowerShell/PowerShell
synced 2026-06-08 12:12:50 +00:00
Run FullCLR sanitary tests in AppVeyor
This change brings a very minimal set of tests and make build fail, if we cannot load some PS assamblies on FullCLR We should increase test coverage for FullCLR in future.
This commit is contained in:
+14
-1
@@ -25,10 +25,23 @@ build_script:
|
||||
|
||||
test_script:
|
||||
- ps: |
|
||||
# CoreCLR
|
||||
$testResultsFile = ".\TestsResults.xml"
|
||||
.\bin\powershell.exe --noprofile -c "Invoke-Pester test/powershell -OutputFormat NUnitXml -OutputFile $testResultsFile"
|
||||
(New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $testResultsFile))
|
||||
|
||||
# For now we don't fail the build if these tests failed
|
||||
#
|
||||
# FullCLR
|
||||
Import-Module .\PowerShellGithubDev.psm1
|
||||
$testResultsFile = ".\TestsResults.FullCLR.xml"
|
||||
Start-DevPSGithub -binDir $pwd\binFull -NoNewWindow -ArgumentList '-command', 'Import-Module .\test\Pester; Invoke-Pester test/fullCLR -OutputFormat NUnitXml -OutputFile $testResultsFile'
|
||||
(New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $testResultsFile))
|
||||
# we want to fail the build, if these tests failed
|
||||
$x = [xml](cat -raw .\TestsResults.FullCLR.xml)
|
||||
if ([int]$x.'test-results'.failures -gt 0)
|
||||
{
|
||||
throw "$($x.'test-results'.failures) tests in test/fullCLR failed"
|
||||
}
|
||||
|
||||
deploy_script:
|
||||
- ps: |
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
Describe 'PowerShellGithubDev.psm1 and powershell.exe' {
|
||||
Context '$env:DEVPATH assemblies loading' {
|
||||
It 'has $env:DEVPATH set' {
|
||||
$env:DEVPATH | Should Not Be $null
|
||||
}
|
||||
|
||||
It 'loads System.Management.Automation.dll' {
|
||||
[psobject].Assembly.Location | Should Be (
|
||||
Join-Path $env:DEVPATH System.Management.Automation.dll)
|
||||
}
|
||||
|
||||
It 'loads Microsoft.PowerShell.Commands.Management.dll' {
|
||||
[Microsoft.PowerShell.Commands.GetChildItemCommand].Assembly.Location | Should Be (
|
||||
Join-Path $env:DEVPATH Microsoft.PowerShell.Commands.Management.dll)
|
||||
}
|
||||
|
||||
It 'loads Microsoft.PowerShell.Commands.Utility.dll' {
|
||||
[Microsoft.PowerShell.Commands.UtilityResources].Assembly.Location | Should Be (
|
||||
Join-Path $env:DEVPATH Microsoft.PowerShell.Commands.Utility.dll)
|
||||
}
|
||||
|
||||
It 'loads Microsoft.PowerShell.ConsoleHost.dll' {
|
||||
[Microsoft.PowerShell.ConsoleShell].Assembly.Location | Should Be (
|
||||
Join-Path $env:DEVPATH Microsoft.PowerShell.ConsoleHost.dll)
|
||||
}
|
||||
|
||||
It 'loads Microsoft.PowerShell.Security.dll' {
|
||||
[Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase].Assembly.Location | Should Be (
|
||||
Join-Path $env:DEVPATH Microsoft.PowerShell.Security.dll)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user