github.com/anacrolix/torrent@v1.61.0/testing.go (about) 1 package torrent 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/anacrolix/log" 8 9 pp "github.com/anacrolix/torrent/peer_protocol" 10 ) 11 12 func TestingConfig(t testing.TB) *ClientConfig { 13 cfg := NewDefaultClientConfig() 14 cfg.ListenHost = LoopbackListenHost 15 cfg.NoDHT = true 16 cfg.DataDir = t.TempDir() 17 cfg.DisableTrackers = true 18 cfg.NoDefaultPortForwarding = true 19 cfg.DisableAcceptRateLimiting = true 20 cfg.ListenPort = 0 21 cfg.KeepAliveTimeout = time.Millisecond 22 cfg.MinPeerExtensions.SetBit(pp.ExtensionBitFast, true) 23 cfg.Logger = log.Default.WithNames(t.Name()) 24 // 2 would suffice for the greeting test, but 5 is needed for a few other tests. This should be 25 // something slightly higher than the usual chunk size, so it gets tickled in some tests. 26 cfg.MaxAllocPeerRequestDataPerConn = 5 27 //cfg.Debug = true 28 //cfg.Logger = cfg.Logger.WithText(func(m log.Msg) string { 29 // t := m.Text() 30 // m.Values(func(i interface{}) bool { 31 // t += fmt.Sprintf("\n%[1]T: %[1]v", i) 32 // return true 33 // }) 34 // return t 35 //}) 36 return cfg 37 }