fix: enforce durable Windows launch release barrier
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
"errors"
|
||||
"io"
|
||||
"strings"
|
||||
"sync/atomic"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -16,6 +17,23 @@ import (
|
||||
"github.com/rvbox/rvbox/internal/domain"
|
||||
)
|
||||
|
||||
func TestExecProcessReleaseIsIdempotent_BH_LAUNCH_05(t *testing.T) {
|
||||
var calls atomic.Int32
|
||||
process := &execProcess{releaseFn: func() error {
|
||||
calls.Add(1)
|
||||
return errors.New("release failed")
|
||||
}}
|
||||
if err := process.Release(context.Background()); err == nil || err.Error() != "release failed" {
|
||||
t.Fatalf("first release error = %v", err)
|
||||
}
|
||||
if err := process.Release(context.Background()); err == nil || err.Error() != "release failed" {
|
||||
t.Fatalf("repeated release error = %v", err)
|
||||
}
|
||||
if got := calls.Load(); got != 1 {
|
||||
t.Fatalf("release calls = %d, want one", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPortableSupervisorCapturesOutputAndSupportsStdin_HP_SUPERVISOR_03(t *testing.T) {
|
||||
t.Parallel()
|
||||
manager, err := NewSupervisor(NativeOptions{MaxOutputChunk: 8, WindowsTermGrace: 10 * time.Millisecond})
|
||||
|
||||
Reference in New Issue
Block a user