|
@@ -35,7 +35,17 @@ type MakePipe func() (c1, c2 net.Conn, stop func(), err error)
|
|
|
// run multiple times. For maximal effectiveness, run the tests under the
|
|
// run multiple times. For maximal effectiveness, run the tests under the
|
|
|
// race detector.
|
|
// race detector.
|
|
|
func TestConn(t *testing.T, mp MakePipe) {
|
|
func TestConn(t *testing.T, mp MakePipe) {
|
|
|
- testConn(t, mp)
|
|
|
|
|
|
|
+ t.Run("BasicIO", func(t *testing.T) { timeoutWrapper(t, mp, testBasicIO) })
|
|
|
|
|
+ t.Run("PingPong", func(t *testing.T) { timeoutWrapper(t, mp, testPingPong) })
|
|
|
|
|
+ t.Run("RacyRead", func(t *testing.T) { timeoutWrapper(t, mp, testRacyRead) })
|
|
|
|
|
+ t.Run("RacyWrite", func(t *testing.T) { timeoutWrapper(t, mp, testRacyWrite) })
|
|
|
|
|
+ t.Run("ReadTimeout", func(t *testing.T) { timeoutWrapper(t, mp, testReadTimeout) })
|
|
|
|
|
+ t.Run("WriteTimeout", func(t *testing.T) { timeoutWrapper(t, mp, testWriteTimeout) })
|
|
|
|
|
+ t.Run("PastTimeout", func(t *testing.T) { timeoutWrapper(t, mp, testPastTimeout) })
|
|
|
|
|
+ t.Run("PresentTimeout", func(t *testing.T) { timeoutWrapper(t, mp, testPresentTimeout) })
|
|
|
|
|
+ t.Run("FutureTimeout", func(t *testing.T) { timeoutWrapper(t, mp, testFutureTimeout) })
|
|
|
|
|
+ t.Run("CloseTimeout", func(t *testing.T) { timeoutWrapper(t, mp, testCloseTimeout) })
|
|
|
|
|
+ t.Run("ConcurrentMethods", func(t *testing.T) { timeoutWrapper(t, mp, testConcurrentMethods) })
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
type connTester func(t *testing.T, c1, c2 net.Conn)
|
|
type connTester func(t *testing.T, c1, c2 net.Conn)
|