func TestInfohash(t *testing.T) { os.RemoveAll(filepath.Join(os.TempDir(), "torrent-test")) os.MkdirAll(filepath.Join(os.TempDir(), "torrent-test"), 0700) var cl_one *Client var cf_one *Config var err error if err != nil { t.Fatal(err) } cf_one = testingConfig() cf_one.ListenAddr = "localhost:43433" cf_one = addirs(cf_one) cl_one, err = NewClient(cf_one) if err != nil { t.Fatal(err) } tfp := filepath.Join(cf_one.DataDir, "testdata") writeranddata(tfp) b := metainfo.Builder{} b.AddFile(tfp) b.AddDhtNodes([]string{fmt.Sprintf(cl_one.DHT().ID())}) ba, err := b.Submit() if err != nil { t.Fatal(err) } ttfp := filepath.Join(cf_one.ConfigDir, "/../torrent") ttf, err := os.Create(ttfp) if err != nil { t.Fatal(err) } ec, _ := ba.Start(ttf, runtime.NumCPU()) err = <-ec if err != nil { t.Fatal(err) } ttf.Close() tor, err := cl_one.AddTorrentFromFile(ttfp) if err != nil { t.Fatal(err) } <-tor.GotInfo() tor.DownloadAll() if cl_one.WaitAll() == false { t.Fatal(errors.New("One did not download torrent")) } }