8 "github.com/anacrolix/torrent/bencode"
11 func test_file(t *testing.T, filename string) {
12 mi, err := LoadFromFile(filename)
17 if len(mi.Info.Files) == 1 {
18 t.Logf("Single file: %s (length: %d)\n", mi.Info.Name, mi.Info.Files[0].Length)
20 t.Logf("Multiple files: %s\n", mi.Info.Name)
21 for _, f := range mi.Info.Files {
22 t.Logf(" - %s (length: %d)\n", path.Join(f.Path...), f.Length)
26 for _, group := range mi.AnnounceList {
27 for _, tracker := range group {
28 t.Logf("Tracker: %s\n", tracker)
31 // for _, url := range mi.WebSeedURLs {
32 // t.Logf("URL: %s\n", url)
35 b, err := bencode.Marshal(mi.Info)
36 if !bytes.Equal(b, mi.Info.Bytes) {
37 t.Logf("\n%q\n%q", b[len(b)-20:], mi.Info.Bytes[len(mi.Info.Bytes)-20:])
38 t.Fatal("encoded and decoded bytes don't match")
42 func TestFile(t *testing.T) {
43 test_file(t, "_testdata/archlinux-2011.08.19-netinstall-i686.iso.torrent")
44 test_file(t, "_testdata/continuum.torrent")
45 test_file(t, "_testdata/23516C72685E8DB0C8F15553382A927F185C4F01.torrent")
46 test_file(t, "_testdata/trackerless.torrent")