Skip to content

Commit 11d997a

Browse files
committed
Fix log retrieval
1 parent 957c826 commit 11d997a

File tree

1 file changed

+26
-10
lines changed

1 file changed

+26
-10
lines changed

integration-test/Integration.Tests.Android.SauceLabs.ps1

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,8 @@ function script:Invoke-SauceLabsApp {
252252
$logResponse = Invoke-SauceLabsApi -Method POST -Uri "$baseUri/log" -Body $logBody
253253

254254
if ($logResponse.value -and $logResponse.value.Count -gt $script:LogLineCount) {
255-
$newLogs = $logResponse.value | Select-Object -Skip $script:LogLineCount
256-
$logMessages = $newLogs | ForEach-Object { $_.message }
255+
$newLogs = @($logResponse.value | Select-Object -Skip $script:LogLineCount)
256+
$logMessages = @($newLogs | ForEach-Object { $_.message })
257257

258258
# Check for completion markers
259259
if (($logMessages | Where-Object { $_ -match "TEST_RESULT:" }) -or
@@ -281,17 +281,33 @@ function script:Invoke-SauceLabsApp {
281281

282282
# Extract new log lines (delta)
283283
[array]$allLogs = @()
284-
if ($logResponse.value) {
285-
$allLogs = $logResponse.value | Select-Object -Skip $script:LogLineCount
286-
$script:LogLineCount = $logResponse.value.Count
284+
if ($logResponse.value -and $logResponse.value.Count -gt 0) {
285+
$totalLogCount = $logResponse.value.Count
286+
Write-Debug "Total logs in response: $totalLogCount, Previously read: $script:LogLineCount"
287+
288+
if ($totalLogCount -gt $script:LogLineCount) {
289+
# Get only new logs (skip previously read lines)
290+
$allLogs = @($logResponse.value | Select-Object -Skip $script:LogLineCount)
291+
Write-Host "Retrieved $($allLogs.Count) new log lines" -ForegroundColor Cyan
292+
} else {
293+
Write-Host "No new log lines since last read" -ForegroundColor Yellow
294+
}
295+
296+
# Update counter for next read
297+
$script:LogLineCount = $totalLogCount
298+
} else {
299+
Write-Host "No logs available in response" -ForegroundColor Yellow
287300
}
288301

289302
# Convert SauceLabs log format to text (matching adb output)
290-
$logCache = $allLogs | ForEach-Object {
291-
$timestamp = if ($_.timestamp) { $_.timestamp } else { "" }
292-
$level = if ($_.level) { $_.level } else { "" }
293-
$message = if ($_.message) { $_.message } else { "" }
294-
"$timestamp $level $message"
303+
$logCache = @()
304+
if ($allLogs -and $allLogs.Count -gt 0) {
305+
$logCache = $allLogs | ForEach-Object {
306+
$timestamp = if ($_.timestamp) { $_.timestamp } else { "" }
307+
$level = if ($_.level) { $_.level } else { "" }
308+
$message = if ($_.message) { $_.message } else { "" }
309+
"$timestamp $level $message"
310+
}
295311
}
296312

297313
# Save logs to file if OutputDir specified

0 commit comments

Comments
 (0)