Skip to content

Commit 700ca71

Browse files
authored
Merge pull request #106 from KirtiWandhare/patch-10
Fix reporting issue
2 parents bb451ae + 53afe58 commit 700ca71

1 file changed

Lines changed: 27 additions & 19 deletions

File tree

CanaryValidator/Canary.Utilities.psm1

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ if (Test-Path -Path "$PSScriptRoot\..\WTTLog.ps1")
88
$Global:wttLogFileName = (Join-Path $PSScriptRoot "AzureStack_CanaryValidation_Test.wtl")
99
}
1010

11-
$UseCase = @{}
12-
[System.Collections.Stack] $AllUseCases = New-Object System.Collections.Stack
11+
$CurrentUseCase = @{}
12+
[System.Collections.Stack] $UseCaseStack = New-Object System.Collections.Stack
1313
filter timestamp {"$(Get-Date -Format HH:mm:ss.ffff): $_"}
1414

1515

@@ -57,49 +57,57 @@ function Log-JSONReport
5757
if ($Message.Contains("[START]"))
5858
{
5959
$name = $Message.Substring($Message.LastIndexOf(":") + 1).Trim().Replace("######", "").Trim()
60-
if ($AllUseCases.Count)
60+
if ($UseCaseStack.Count)
6161
{
6262
$nestedUseCase = @{
6363
"Name" = $name
6464
"StartTime" = $time
6565
}
66-
if (-not $AllUseCases.Peek().UseCase)
66+
if (-not $UseCaseStack.Peek().UseCase)
6767
{
68-
$AllUseCases.Peek().Add("UseCase", @())
68+
$UseCaseStack.Peek().Add("UseCase", @())
6969
}
70-
$AllUseCases.Peek().UseCase += , $nestedUseCase
71-
$AllUseCases.Push($nestedUseCase)
70+
$UseCaseStack.Peek().UseCase += , $nestedUseCase
71+
$UseCaseStack.Push($nestedUseCase)
7272
}
7373
else
7474
{
75-
$UseCase.Add("Name", $name)
76-
$UseCase.Add("StartTime", $time)
77-
$AllUseCases.Push($UseCase)
75+
$CurrentUseCase.Add("Name", $name)
76+
$CurrentUseCase.Add("StartTime", $time)
77+
$UseCaseStack.Push($CurrentUseCase)
7878
}
7979
}
8080
elseif ($Message.Contains("[END]"))
8181
{
82-
$result = $Message.Substring($Message.LastIndexOf("=") + 1).Trim().Replace("] ######", "").Trim()
83-
$AllUseCases.Peek().Add("EndTime", $time)
84-
$AllUseCases.Peek().Add("Result", $result)
85-
$AllUseCases.Pop() | Out-Null
86-
if (-not $AllUseCases.Count)
82+
$result = ""
83+
if ($UseCaseStack.Peek().UseCase -and ($UseCaseStack.Peek().UseCase | Where-Object {$_.Result -eq "FAIL"}))
84+
{
85+
$result = "FAIL"
86+
}
87+
else
88+
{
89+
$result = $Message.Substring($Message.LastIndexOf("=") + 1).Trim().Replace("] ######", "").Trim()
90+
}
91+
$UseCaseStack.Peek().Add("Result", $result)
92+
$UseCaseStack.Peek().Add("EndTime", $time)
93+
$UseCaseStack.Pop() | Out-Null
94+
if (-not $UseCaseStack.Count)
8795
{
8896
$jsonReport = ConvertFrom-Json (Get-Content -Path $Global:JSONLogFile -Raw)
89-
$jsonReport.UseCases += , $UseCase
97+
$jsonReport.UseCases += , $CurrentUseCase
9098
$jsonReport | ConvertTo-Json -Depth 10 | Out-File -FilePath $Global:JSONLogFile
91-
$UseCase.Clear()
99+
$CurrentUseCase.Clear()
92100
}
93101
}
94102
elseif ($Message.Contains("[DESCRIPTION]"))
95103
{
96104
$description = $Message.Substring($Message.IndexOf("[DESCRIPTION]") + "[DESCRIPTION]".Length).Trim()
97-
$AllUseCases.Peek().Add("Description", $description)
105+
$UseCaseStack.Peek().Add("Description", $description)
98106
}
99107
elseif ($Message.Contains("[EXCEPTION]"))
100108
{
101109
$exception = $Message.Substring($Message.IndexOf("[EXCEPTION]") + "[EXCEPTION]".Length).Trim()
102-
$AllUseCases.Peek().Add("Exception", $exception)
110+
$UseCaseStack.Peek().Add("Exception", $exception)
103111
}
104112
}
105113
}

0 commit comments

Comments
 (0)