func TestingConfig() *Config {
return &Config{
- ListenAddr: "localhost:0",
- NoDHT: true,
- DataDir: func() string {
- ret, err := ioutil.TempDir(tempDir, "")
- if err != nil {
- panic(err)
- }
- return ret
- }(),
+ ListenAddr: "localhost:0",
+ NoDHT: true,
+ DataDir: tempDir(),
DisableTrackers: true,
- Debug: true,
+ // Debug: true,
}
}
pieceStateChanges: pubsub.NewPubSub(),
}
tor.chunkSize = 2
- tor.storageOpener = storage.NewClient(storage.NewFileWithCompletion("/dev/null", storage.NewMapPieceCompletion()))
+ tor.storageOpener = storage.NewClient(storage.NewFileWithCompletion(tempDir(), storage.NewMapPieceCompletion()))
// Needed to lock for asynchronous piece verification.
tor.cl = new(Client)
tor.cl.mu.Lock()
"testing"
)
-var tempDir string
+// A top-level temp dir that lasts for the duration of the package tests, and
+// is removed at completion.
+var pkgTempDir string
func init() {
log.SetFlags(log.LstdFlags | log.Llongfile)
var err error
- tempDir, err = ioutil.TempDir("", "torrent.test")
+ pkgTempDir, err = ioutil.TempDir("", "torrent.test")
if err != nil {
panic(err)
}
}
+func tempDir() string {
+ ret, err := ioutil.TempDir(pkgTempDir, "")
+ if err != nil {
+ panic(err)
+ }
+ return ret
+}
+
func TestMain(m *testing.M) {
code := m.Run()
- os.RemoveAll(tempDir)
+ os.RemoveAll(pkgTempDir)
// select {}
os.Exit(code)
}
import (
"fmt"
- "log"
"sync"
"github.com/anacrolix/missinggo/bitmap"
if p.hashing {
target++
}
- log.Printf("target: %d", target)
+ // log.Printf("target: %d", target)
p.t.queuePieceCheck(p.index)
for p.numVerifies < target {
- log.Printf("got %d verifies", p.numVerifies)
+ // log.Printf("got %d verifies", p.numVerifies)
p.t.cl.event.Wait()
}
- log.Print("done")
+ // log.Print("done")
}
func (p *Piece) queuedForHash() bool {