INNER CODE UNIT · Go
TestForwardReapsIdleHalfOpenPair
docker/compose · relay/main_test.go:107
func TestForwardReapsIdleHalfOpenPair(t *testing.T) {
restore := halfCloseIdleTimeout
halfCloseIdleTimeout = 200 * time.Millisecond
t.Cleanup(func() { halfCloseIdleTimeout = restore })
upstream := silentUpstream(t)
client, server := tcpPair(t)
t.Cleanup(func() { _ = client.Close() })
finished := make(chan struct{})
go func() {
forward(server, upstream.Addr().String())
close(finished)
}()
if _, err := client.Write([]byte("request")); err != nil {
t.Fatal(err)
}