@@ -404,33 +404,50 @@ function Invoke-OpenSSHTests
404404
405405<#
406406 . Synopsis
407- upload OpenSSH pester test results.
407+ Collect OpenSSH pester test results into one directory
408408#>
409- function Publish -OpenSSHTestResults
409+ function Copy -OpenSSHTestResults
410410{
411- if ($env: APPVEYOR_JOB_ID )
411+ param (
412+ [Parameter (Mandatory = $true )]
413+ [string ] $ResultsPath
414+ )
415+
416+ if (Test-Path - Path $ResultsPath )
417+ {
418+ Remove-Item - Path $ResultsPath - Force - Recurse - ErrorAction Ignore
419+ }
420+
421+ Write-Verbose - Verbose " Creating test results directory for artifacts upload: $ResultsPath "
422+ $null = New-Item - Path $ResultsPath - ItemType Directory - Force
423+
424+ if (Test-Path - Path $ResultsPath )
412425 {
413426 $setupresultFile = Resolve-Path $Global :OpenSSHTestInfo [" SetupTestResultsFile" ] - ErrorAction Ignore
414- if ( ( Test-Path $ Global :OpenSSHTestInfo [ " SetupTestResultsFile " ]) -and $setupresultFile )
427+ if ( $setupresultFile )
415428 {
416- ( New-Object ' System.Net.WebClient ' ).UploadFile( " https://ci.appveyor.com/api/testresults/nunit/ $ ( $ env: APPVEYOR_JOB_ID ) " , $setupresultFile )
417- Write-BuildMessage - Message " Setup test results uploaded! " - Category Information
429+ Write-Verbose - Verbose " Copying set-up test results file , $setupresultFile , to results directory "
430+ Copy-Item - Path $setupresultFile - Destination $ResultsPath
418431 }
419432
420433 $E2EresultFile = Resolve-Path $Global :OpenSSHTestInfo [" E2ETestResultsFile" ] - ErrorAction Ignore
421- if ( ( Test-Path $ Global :OpenSSHTestInfo [ " E2ETestResultsFile " ]) -and $E2EresultFile )
434+ if ( $E2EresultFile )
422435 {
423- ( New-Object ' System.Net.WebClient ' ).UploadFile( " https://ci.appveyor.com/api/testresults/nunit/ $ ( $ env: APPVEYOR_JOB_ID ) " , $E2EresultFile )
424- Write-BuildMessage - Message " E2E test results uploaded! " - Category Information
436+ Write-Verbose - Verbose " Copying end-to-end test results file , $E2EresultFile , to results directory "
437+ Copy-Item - Path $E2EresultFile - Destination $ResultsPath
425438 }
426439
427440 $uninstallResultFile = Resolve-Path $Global :OpenSSHTestInfo [" UninstallTestResultsFile" ] - ErrorAction Ignore
428- if ( ( Test-Path $ Global :OpenSSHTestInfo [ " UninstallTestResultsFile " ]) -and $uninstallResultFile )
441+ if ( $uninstallResultFile )
429442 {
430- ( New-Object ' System.Net.WebClient ' ).UploadFile( " https://ci.appveyor.com/api/testresults/nunit/ $ ( $ env: APPVEYOR_JOB_ID ) " , $uninstallResultFile )
431- Write-BuildMessage - Message " Uninstall test results uploaded! " - Category Information
443+ Write-Verbose - Verbose " Copying uninstall test results file , $uninstallResultFile , to results directory "
444+ Copy-Item - Path $uninstallResultFile - Destination $ResultsPath
432445 }
433446 }
447+ else
448+ {
449+ Write-Verbose - Verbose " Unable to write test results path for test artifacts upload: $ResultsPath "
450+ }
434451
435452 if ($env: DebugMode )
436453 {
@@ -439,11 +456,11 @@ function Publish-OpenSSHTestResults
439456
440457 if ($env: TestPassed -ieq ' True' )
441458 {
442- Write-BuildMessage - Message " The checkin validation success !" - Category Information
459+ Write-BuildMessage - Message " The checkin validation tests succeeded !" - Category Information
443460 }
444461 else
445462 {
446- Write-BuildMessage - Message " The checkin validation failed!" - Category Error
447- throw " The checkin validation failed!"
463+ Write-BuildMessage - Message " The checkin validation tests failed!" - Category Error
464+ throw " The checkin validation tests failed!"
448465 }
449466}
0 commit comments