This is an automated email from the ASF dual-hosted git repository. nightowl888 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/lucenenet.git
commit ca726f6a7b56a1a8e30fd16ccc30e46affb7dbf9 Author: Shad Storhaug <[email protected]> AuthorDate: Sat Jul 13 14:54:40 2019 +0700 build.ps1: Added function to summarize the test results on the console --- build/build.ps1 | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/build/build.ps1 b/build/build.ps1 index f68aaeb..8b1b652 100644 --- a/build/build.ps1 +++ b/build/build.ps1 @@ -236,6 +236,8 @@ task Test -depends InstallSDK, UpdateLocalSDKVersion, Restore -description "This } } } + + Summarize-Test-Results } function Get-Package-Version() { @@ -424,6 +426,116 @@ endlocal [System.IO.File]::WriteAllLines($file, $buildBat, $Utf8EncodingNoBom) } +function New-CountersObject ([string]$project, [string]$outcome, [int]$total, [int]$executed, [int]$passed, [int]$failed, [int]$warning, [int]$inconclusive) { + $counters = New-Object -TypeName PSObject + $fields = [ordered]@{Project=$project;Outcome=$outcome;Total=$total;Executed=$executed;Passed=$passed;Failed=$failed;Warning=$warning;Inconclusive=$inconclusive} + $counters | Add-Member -NotePropertyMembers $fields -TypeName Counters + return $counters +} + +function Summarize-Test-Results() { + Write-Host "frameworks_to_test: $frameworks_to_test" -ForegroundColor Gray + $frameworksToTest = $frameworks_to_test -split "\s*?,\s*?" + + foreach ($framework in $frameworksToTest) { + pushd $base_directory + $testReports = Get-ChildItem -Path "$test_results_directory/$framework" -Recurse -File -Filter "*.trx" | ForEach-Object { + $_.FullName + } + popd + + [int]$totalCountForFramework = 0 + [int]$executedCountForFramework = 0 + [int]$passedCountForFramework = 0 + [int]$failedCountForFramework = 0 + [int]$warningCountForFramework = 0 + [int]$inconclusiveCountForFramework = 0 + [string]$outcomeForFramework = 'Completed' + + # HEADER FOR FRAMEWORK + + Write-Host "" + Write-Host "" + Write-Host "************************************************************************************************************" -ForegroundColor Yellow + Write-Host "* *" -ForegroundColor Yellow + Write-Host "* Test Summary For $framework" -ForegroundColor Yellow + Write-Host "* *" -ForegroundColor Yellow + Write-Host "************************************************************************************************************" -ForegroundColor Yellow + + foreach ($testReport in $testReports) { + $testName = [System.IO.Path]::GetFileName([System.IO.Path]::GetDirectoryName($testReport)) + $reader = [System.Xml.XmlReader]::Create($testReport) + try { + while ($reader.Read()) { + + if ($reader.NodeType -eq [System.Xml.XmlNodeType]::Element -and $reader.Name -eq 'ResultSummary') { + $outcome = $reader.GetAttribute('outcome') + if ($outcomeForFramework -eq 'Completed') { + $outcomeForFramework = $outcome + } + } + if ($reader.NodeType -eq [System.Xml.XmlNodeType]::Element -and $reader.Name -eq 'Counters') { + $counters = New-CountersObject ` + -Project $testName ` + -Outcome $outcome ` + -Total $reader.GetAttribute('total') ` + -Executed $reader.GetAttribute('executed') ` + -Passed $reader.GetAttribute('passed') ` + -Failed $reader.GetAttribute('failed') ` + -Warning $reader.GetAttribute('warning') ` + -Inconclusive $reader.GetAttribute('inconclusive') + + $totalCountForFramework += $counters.Total + $executedCountForFramework += $counters.Executed + $passedCountForFramework += $counters.Passed + $failedCountForFramework += $counters.Failed + $warningCountForFramework += $counters.Warning + $inconclusiveCountForFramework += $counters.Inconclusive + $skippedCountForFramework += $counters.Skipped + + $format = @{Expression={$_.Project};Label='Project';Width=35}, + @{Expression={$_.Outcome};Label='Outcome';Width=9}, + @{Expression={$_.Total};Label='Total';Width=8}, + @{Expression={$_.Executed};Label='Executed';Width=10}, + @{Expression={$_.Passed};Label='Passed';Width=8}, + @{Expression={$_.Failed};Label='Failed';Width=8}, + @{Expression={$_.Warning};Label='Warning';Width=9}, + @{Expression={$_.Inconclusive};Label='Inconclusive';Width=14} + + $Counters | Format-Table $format + } + } + + } finally { + $reader.Dispose() + } + + } + + # FOOTER FOR FRAMEWORK + + Write-Host "************************************************************************************************************" -ForegroundColor Magenta + Write-Host "* *" -ForegroundColor Magenta + Write-Host "* Totals For $framework" -ForegroundColor Magenta + Write-Host "* *" -ForegroundColor Magenta + Write-Host "************************************************************************************************************" -ForegroundColor Magenta + Write-Host "" + $foreground = if ($outcomeForFramework -eq 'Failed') { 'Red' } else { 'Green' } + Write-Host "Result: " -NoNewline; Write-Host "$outcomeForFramework" -ForegroundColor $foreground + Write-Host "" + Write-Host "Total: $totalCountForFramework" + Write-Host "Executed: $executedCountForFramework" + $foreground = if ($failedCountForFramework -gt 0) { 'Green' } else { (Get-Host).UI.RawUI.ForegroundColor } + Write-Host "Passed: " -NoNewline; Write-Host "$passedCountForFramework" -ForegroundColor $foreground + $foreground = if ($failedCountForFramework -gt 0) { 'Red' } else { (Get-Host).UI.RawUI.ForegroundColor } + Write-Host "Failed: " -NoNewline; Write-Host "$failedCountForFramework" -ForegroundColor $foreground + $foreground = if ($failedCountForFramework -gt 0) { 'Yellow' } else { (Get-Host).UI.RawUI.ForegroundColor } + Write-Host "Warning: " -NoNewline; Write-Host "$warningCountForFramework" -ForegroundColor $foreground + $foreground = if ($failedCountForFramework -gt 0) { 'Cyan' } else { (Get-Host).UI.RawUI.ForegroundColor } + Write-Host "Inconclusive: " -NoNewline; Write-Host "$inconclusiveCountForFramework" -ForegroundColor $foreground + } +} + function Backup-Files([string[]]$paths) { foreach ($path in $paths) { Backup-File $path
