Skip to content

Commit ecdaffe

Browse files
Marchhillclaude
andcommitted
fix(test-runner): stream state-test progress to stderr
RunStateTestFiles was silent until completion, so the CI idle watchdog killed long state-test chunks as hung. Report per-test progress like the other runners. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 91fab4e commit ecdaffe

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

src/Nethermind/Nethermind.Test.Runner/Program.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,13 +364,31 @@ private static List<EthereumTestResult> RunStateTestFiles(
364364
}
365365
}
366366

367+
int completedTests = 0;
368+
// Keeps stderr alive for CI idle watchdogs; also streams failures as they happen.
369+
void ReportProgress(EthereumTestResult result)
370+
{
371+
int completed = Interlocked.Increment(ref completedTests);
372+
if (!result.Pass)
373+
{
374+
Console.Error.WriteLine($"\x1b[31mFAIL\x1b[0m [{completed}/{testCases.Count}] {result.Name} - {result.Error}");
375+
Console.Error.Flush();
376+
}
377+
else if (completed % ProgressReportTestInterval == 0 || completed == testCases.Count)
378+
{
379+
Console.Error.WriteLine($"PROGRESS [{completed}/{testCases.Count}]");
380+
Console.Error.Flush();
381+
}
382+
}
383+
367384
if (workers <= 1 || whenTrace != WhenTrace.Never || enableWarmup)
368385
{
369386
List<EthereumTestResult> allResults = [];
370387
foreach ((int index, GeneralStateTest test) in testCases)
371388
{
372389
StateTestsRunner runner = new(whenTrace, traceMemory, traceStack, chainId, filter, enableWarmup, suppressOutput: true);
373390
EthereumTestResult result = runner.RunSingleTest(test);
391+
ReportProgress(result);
374392
allResults.Add(result);
375393
}
376394
return allResults;
@@ -385,6 +403,7 @@ private static List<EthereumTestResult> RunStateTestFiles(
385403
StateTestsRunner runner = new(WhenTrace.Never, traceMemory, traceStack, chainId, filter, enableWarmup: false, suppressOutput: true);
386404
EthereumTestResult result = runner.RunSingleTest(item.test);
387405
results[item.index] = result;
406+
ReportProgress(result);
388407
});
389408

390409
return [.. results];

0 commit comments

Comments
 (0)