func TestConn(t *testing.T, mp MakePipe) {
	testConn(t, mp)
}
TestConn tests that a net.Conn implementation properly satisfies the interface.
The tests should not produce any false positives, but may experience
false negatives. Thus, some issues may only be detected when the test is
run multiple times. For maximal effectiveness, run the tests under the
race detector.
package nettest
import (
	"bytes"
	"encoding/binary"
	"io"
	"io/ioutil"
	"math/rand"
	"net"
	"runtime"
	"sync"
	"testing"
	"time"
)
var (
	aLongTimeAgo = time.Unix(233431200, 0)
	neverTimeout = time.Time{}
)
type MakePipe func() (c1, c2 net.Conn, stop func(), err error)