From 8cfbfc7be0e7117ac020787d9645d3901a8b3d50 Mon Sep 17 00:00:00 2001 From: Bowen Date: Mon, 16 Feb 2026 11:43:35 +0800 Subject: [PATCH] chore: optimize runner tests for Windows --- foundation/application.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/foundation/application.go b/foundation/application.go index b91acfcb8..81a760b31 100644 --- a/foundation/application.go +++ b/foundation/application.go @@ -250,16 +250,18 @@ func (r *Application) Start() { go func() { runner.running.Store(true) if err := runner.runner.Run(); err != nil { - runner.doneOnce.Do(func() { - r.runnerWg.Done() - }) runner.running.Store(false) errsMu.Lock() + defer errsMu.Unlock() + errs = append(errs, fmt.Errorf("failed to run %s: %w", runner.signature, err)) - errsMu.Unlock() if log := r.MakeLog(); log != nil { log.Errorf("failed to run %s: %v\n", runner.signature, err) } + + runner.doneOnce.Do(func() { + r.runnerWg.Done() + }) r.cancel() } // Run may be a blocking call, so don't write anything after it.