From: Matt Joiner <anacrolix@gmail.com>
Date: Thu, 22 Feb 2024 06:27:18 +0000 (+1100)
Subject: Add test case from issue #906
X-Git-Tag: v1.55.0~17
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=489d7e8e45dbfae9a1ae0749aa595d45c50c6b17;p=btrtrc.git

Add test case from issue #906
---

diff --git a/internal/cmd/issue-906/main.go b/internal/cmd/issue-906/main.go
new file mode 100644
index 00000000..7c3bdc17
--- /dev/null
+++ b/internal/cmd/issue-906/main.go
@@ -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)
+}