mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-06-02 06:23:37 +02:00
fix: handle graceful control shutdown and reconnects
This commit is contained in:
@@ -124,6 +124,26 @@ func TestRunRejectsBadProtocolVersion(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunStopsOnPeerClose(t *testing.T) {
|
||||
a, b := controlPair(t)
|
||||
errCh := make(chan error, 1)
|
||||
go func() {
|
||||
errCh <- Run(context.Background(), a, Config{Interval: time.Hour})
|
||||
}()
|
||||
if err := SendClose(b); err != nil {
|
||||
t.Fatalf("SendClose() error = %v", err)
|
||||
}
|
||||
|
||||
select {
|
||||
case err := <-errCh:
|
||||
if !errors.Is(err, ErrClosedByPeer) {
|
||||
t.Fatalf("Run() error = %v, want ErrClosedByPeer", err)
|
||||
}
|
||||
case <-time.After(time.Second):
|
||||
t.Fatal("timed out waiting for peer close")
|
||||
}
|
||||
}
|
||||
|
||||
func TestReadFrameRejectsTooLarge(t *testing.T) {
|
||||
a, b := controlPair(t)
|
||||
go func() {
|
||||
|
||||
Reference in New Issue
Block a user