run stream 또는 node event 채널이 조기에 닫히는 경우에도 nil/closed 상태를 안전하게 처리해 무한 대기를 막고, A2A/OpenAI 경로가 일관되게 오류를 반환하도록 하여 예외 상태에서 서비스 장애 전파를 개선한다.
19 lines
266 B
Go
19 lines
266 B
Go
package service
|
|
|
|
import "testing"
|
|
|
|
func TestRunHandleCloseIsIdempotent(t *testing.T) {
|
|
calls := 0
|
|
handle := &RunHandle{
|
|
close: func() {
|
|
calls++
|
|
},
|
|
}
|
|
|
|
handle.Close()
|
|
handle.Close()
|
|
|
|
if calls != 1 {
|
|
t.Fatalf("close called %d times, want 1", calls)
|
|
}
|
|
}
|