Skip to content

Commit 13a249a

Browse files
authored
Add test results upload (#630)
1 parent d9738a3 commit 13a249a

File tree

3 files changed

+42
-17
lines changed

3 files changed

+42
-17
lines changed

.azdo/ci.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,5 +123,13 @@ stages:
123123
- pwsh: |
124124
Import-Module -Name "$(Build.SourcesDirectory)/contrib/win32/openssh/AzDOBuildTools" -Force
125125
Invoke-OpenSSHTests -OpenSSHBinPath "$env:SystemDrive/OpenSSH"
126-
Publish-OpenSSHTestResults # TODO: #
126+
# Copy test results to results directory
127+
$ResultsDirectory = "$(Build.SourcesDirectory)/Win32OpenSSHTestResults"
128+
Copy-OpenSSHTestResults -ResultsPath $ResultsDirectory
129+
# Upload test results artifact
130+
if (Test-Path -Path $ResultsDirectory)
131+
{
132+
$artifactName = 'Win32-OpenSSH-TestResults'
133+
Write-Host "##vso[artifact.upload containerfolder=$artifactName;artifactname=$artifactName;]$ResultsDirectory"
134+
}
127135
displayName: Run tests and publish results

contrib/win32/openssh/AzDOBuildTools/AzDOBuildTools.psd1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ FunctionsToExport = @(
3232
'Invoke-AzDOBuild',
3333
'Install-OpenSSH',
3434
'Invoke-OpenSSHTests',
35-
'Publish-OpenSSHTestResults')
35+
'Copy-OpenSSHTestResults')
3636

3737
}

contrib/win32/openssh/AzDOBuildTools/AzDOBuildTools.psm1

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)