]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Add test case from issue #906
authorMatt Joiner <anacrolix@gmail.com>
Thu, 22 Feb 2024 06:27:18 +0000 (17:27 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 22 Feb 2024 06:27:18 +0000 (17:27 +1100)
internal/cmd/issue-906/main.go [new file with mode: 0644]

diff --git a/internal/cmd/issue-906/main.go b/internal/cmd/issue-906/main.go
new file mode 100644 (file)
index 0000000..7c3bdc1
--- /dev/null
@@ -0,0 +1,39 @@
+package main
+
+import (
+       "log"
+       "net/http"
+       "os"
+
+       _ "github.com/anacrolix/envpprof"
+       "github.com/anacrolix/torrent"
+)
+
+func main() {
+       cfg := torrent.NewDefaultClientConfig()
+       cfg.Debug = true
+       cfg.DisablePEX = true
+       cfg.DisableTrackers = true
+       cfg.NoDHT = true
+       cfg.NoDefaultPortForwarding = true
+
+       c, _ := torrent.NewClient(cfg)
+       defer c.Close()
+       http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
+               c.WriteStatus(w)
+       })
+       torrentFile := os.Args[1]
+       peerAddr := os.Args[2]
+       t, _ := c.AddTorrentFromFile(torrentFile)
+       println(t.AddPeers([]torrent.PeerInfo{{Addr: addr(peerAddr)}}))
+       <-t.GotInfo()
+       t.DownloadAll()
+       c.WaitAll()
+       log.Print("ermahgerd, torrent downloaded")
+}
+
+type addr string
+
+func (a addr) String() string {
+       return string(a)
+}